Resolve Siebel local database error while connecting from Interactive SQL
If you are a Siebel developer, you have used Interactive SQL (iSQL) client one too many times for sure. Also known as iSQL Anywhere or SQL Anywhere, this is a client supplied by Sybase and is a small utility that sits in the BIN folder of both Client and Tools folders of the local Siebel install. If you are wondering, they are one and the same.
You will often invoke through the shortcut to C:\Siebel\8.1\Tools_1\BIN\dbisqlc.exe.
It is a common enough use case for a developer to connect to Tools or Developer client on her local client, and then try to access the same database from iSQL client.
Run disqlc.exe, provide local DB user id and password, provide the database file name, and click OK.
As you half-expected, you will get this helpful error.
In words -
Specified database file already in use
Well, we do know the database is started already by Tools, but how do you tell iSQL that?
Simple enough – do not provide the database file name in the iSQL client window. Optionally, just provide the server name (this comes to the rescue when multiple iSQL instances are running in parallel).
You will get this server name from ODBC settings of the system. Open ODBC settings on the local computer (Start > Run > ODBCAD32 on 32-bit systems, Start > Run > C:\Windows\SysWOW64\odbcad32.exe on 64-bit systems). Go to “System DSN”, locate “Server Name” parameter value.
Now use the copied value against “Server name” parameter in the iSQL client window. Remove the “Database file” value.
This solution has been there for time immemorial, but surprise – this also fails with the same message as earlier.
It turns out that I was running Tools as an administrator. A normal user application will not be able to access memory space created by administrator. In our case the iSQL client running under “normal user” could not access the instance created by Tools that runs from an admin id.
So, the final solution is simple. Do either of the following –
- Run iSQL client as an administrator.
- Better still, run both Tools and iSQL client as normal user.