Acu4GL for MSSQL Mishandles a Named Instance In a File Alias

0 Likes

Problem:

The application receives error 9D,17 when using a SQL Server named instance In a file alias.  The alias has this form:

  mytable sqlserver\instancename.database.dbo.mytable

The open of that file/table fails with error 9D,17, SQL Server does not exist or access denied. 

If the alias is not used and A_MSSQL_DEFAULT_CONNECTION specifies that same named instance there is no error and mytable can be accessed successfully.

Resolution:

As of version 9.2.3 there is an issue with the parser that strips off the backslash "\" and the portion of the alias in front of that.  This renders an invalid servername and the connection fails with error 9D,17, SQL Server does not exist or access denied.

There is a workaround, which is to use the port number for the named instance, rather than the name itself.  Assuming the instance is running on port 9999 the above example would look like this:

  mytable sqlserver,9999.database.dbo.mytable

Note that when specifying the port number a comma is used rather than a backslash.

The SQL Server Configuration Manager is one way to determine what port the instance is using.  Expand 'Sql Server Network Configuration', select the instance, then in the right-hand pane right-click on 'TCP/IP', select 'Properties', then go to the 'IP Addresses' tab.

Comment List
Anonymous
Related Discussions
Recommended