Errors arising when Trying to Connect to the CCLAS EL Database Server
The CCLAS INI file is used to configure database connection and language. Where this file is not configured as expected for the site, various errors can be raised when trying to establish CCLAS connection or security.
No Permission to View the Server State when CCLAS EL is Started on a SQL Cluster
VIEW SERVER STATE permission was denied on object 'server', database 'master'.
The user does not have permission to perform this action.
when starting CCLAS v 3.0.3.1 on an application server.
Cause:
-
Provide the View Server State permission to the CCLASMGR account (the SQL server account used for the CCLAS connection).
From the SQL Server Management Studio via GUI:
-
Connect to the SQL instance.
-
Navigate to Security » Logins.
-
Right click the CCLASMGR and select Properties.
-
Select the Securables page.
-
In the bottom pane, scroll to the bottom and Grant - View Server State.
From the SQL Server Management Studio via statement:
-
Connect to the SQL instance.
-
Select New Query.
-
Use the following statement:
GRANT VIEW SERVER STATE TO CCLASMGR
-
Could Not Initialise Connection Errors
From a Login Attempt
Causes:
-
The CCLAS.INI file is missing.
-
The CCLAS.INI file exists but does not contain database connection details.
-
The CCLAS.INI file exists, but the database connection details are configured incorrectly.
From a V2 Licence check
Causes:
-
An incorrect server name, username or password is configured in the CCLAS.INI file.
-
The server instance for the connection is the default (unnamed) instance, and an incorrect port specification is configured in the CCLAS.INI file.
Cause:
-
An incorrect server name, username or password is configured in the CCLAS.INI file.
-
The server instance for the connection is a named instance, and either the SQL Browser service is not running on the database service, or no port or an incorrect port is specification is configured in the CCLAS.INI file.
If the SQL server is installed as a named instance, to successfully connect, CCLAS requires either SQL Browser service running on the DB server (disabled by default), or port number of the SQL service to be specified in the INI file using syntax (default port 1433 is used to be configure as the only one in older SQL server versions, but modern ones the default is a dynamic port allocation, in such a case without browser service, it needs to be changed to a static port number), as follows:
DSN= server\instance,port;dbname
Another suggestion to try, instead of specifying the port number, is, in SQL server Configuration Manager, expand SQL Native Client 11.0 Configuration (32bit) and SQL Native Client 11.0 Configuration > Client Protocols and disable Shared Memory and Named Pipes.
From a V3 Licence check
Cause: An incorrect server name is configured in the CCLAS.INI file.
Cause: The server instance for the connection is the default (unnamed) instance, and an incorrect port specification is configured in the CCLAS.INI file.
Cause: The server instance for the connection is a named instance, and either the SQL Browser service is not running on the database service or an incorrect port specification is configured in the CCLAS.INI file.
SQL Server Port Errors
Microsoft SQL Server (MS-SQL) has a feature called named instances. This feature lets you run multiple databases on the same host (or clustered hosts) with separate settings. Each database instance runs on its own port.
In the case where the SQL server is installed as a named instance, to successfully connect, CCLAS requires either SQL Browser service running on the database server (disabled by default), or the port number of the SQL service to be specified in the CCLAS.INI file. In older versions of SQL server, the default port to configure was 1433, however, in recent versions of SQL server, the default port is dynamically allocated. In the case of no SQL Browser service running, the port must be changed to a static port number, as follows:
DSN= server\instance,port;dbname
Another suggestion to try, instead of specifying the port number, is, in SQL server Configuration Manager, expand SQL Native Client 11.0 Configuration (32bit) and SQL Native Client 11.0 Configuration > Client Protocols and disable Shared Memory and Named Pipes.
Cause: An incorrect username or password is configured in the CCLAS.INI file.
Login Chain (SL) Errors, when connecting to SQL Server
Cause: A problem with the secure socket layer (SSL) due an issue with the certificate chain.
To bypass the certificate chain and trust the default certificate provided by the server, add the following line to the UID in the CCLAS.INI file:
UID=CCLASMGR;Encrypt=true;TrustServerCertificate=true
In the event that a customer does not allow this bypass, then the customer needs to provide the certificate, for it to be installed and to then allow the connection.
Note: This situation does not result in an error in the V2 Licence check.
SQL Server Alias Errors
In some cases, users may configure an alias for the SQL Server. This is a "more friendly" name that can be used as the DSN to connect to the database. it will be something different to the actual server name.
If an alias is used, it is no cause for concern, however, the actual server name should be used in the licencing. CCLAS EL uses the server name to validate the licence, and displays the actual server name in the Licence application, so that is the name that should be used in creating the licence rather than the alias name. The alias is fine to be used for the DSN in the CCLAS.INI file.
Applications Crashing when Trying to run Crystal Report
A CCLAS EL application crashes when a Crystal Report template is selected and run. No error is given, however, a not in the Windows Event Viewer says the problem happened in idapi32.dll. This DLL is part of the Borland Database Engine (BDE).
Possible cause: The folder for the BDE has files missing compared to other working systems, possibly because they were not installed by CCLAS, or something else in the BDE affected their installation.
Copy the missing files to the BDE folder (C:\Program Files\Borland\Common Files\BDE) (or research whether it is possible to make changes to templates to avoid this issue).
Formula Resolution Errors due to Spaces in MDE Formulas
It is strongly encouraged to avoid spaces in formulas. An issue may present itself if spaces are present when resolving external schemes.
When resolving external schemes, the actual value is placed into the formula, as its value cannot be resolved within the spreadsheet due to the scheme not being loaded. The F1Book control, however, removes any spaces from the formula (for example, "1 + 1" becomes "1+1"), so upon determining if the formula has been changed when saving, it is deemed changed and the formula is then overwritten with the actual values rather than retaining the name of the analyte in the formula.
Invalid Rectangle Error
This error is normally shown after trying to log in.
There are quite possibly multiple reasons for this error. All cases reported so far seem to be related to database connection and issues, below are the known causes.
Database Update Errors
Full Transaction Log
Cause: The database transaction log is full on the database server.
Read Only Database is in Use
Cause: The database is set to read-only.
Field Size is Too Small
Trying to update a field with data that is longer than the field accepts, that is, the database field size is too short.
Cause: The field size in the database is too short.
Resolution: Use ALTER TABLE to update the field to the required size.
Incorrect Sequence of User Fields Added to a Table
An error is returned when an exec_sp query that has column parameters listed in a @p1,@p2,@p3 fashion is run on a table that has user fields.
Cause: The wrong type of field is used in a parameter due to user fields being added to the table in an incorrect sequence.
For example, fields are added as:
ALTER TABLE CLIENT_QUOTE ADD USERFIELD1 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD2 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD3 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD4 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD5 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD NOTESFILE NVARCHAR(80)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD6 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD7 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD8 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD9 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD10 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD11 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD12 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD13 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD14 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD15 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD16 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD17 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD18 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD19 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD20 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD ACCEPTED_DATE DATETIME
ALTER TABLE CLIENT_QUOTE ADD PROCEDURECODE VARCHAR(20)
instead of:
ALTER TABLE CLIENT_QUOTE ADD USERFIELD1 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD2 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD3 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD4 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD5 NVARCHAR(40)
ALTER TABLE CLIENT_QUOTE ADD ACCEPTED_DATE DATETIME
ALTER TABLE CLIENT_QUOTE ADD PROCEDURECODE VARCHAR(20)
ALTER TABLE CLIENT_QUOTE ADD NOTESFILE NVARCHAR(80)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD6 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD7 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD8 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD9 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD10 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD11 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD12 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD13 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD14 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD15 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD16 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD17 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD18 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD19 NVARCHAR(1)
ALTER TABLE CLIENT_QUOTE ADD USERFIELD20 NVARCHAR(1)
with an error arising due to the difference in the position of the ACCEPTED_DATE and PROCEDURECODE columns.
Resolution: Add the user columns to the table in the correct sequence.