on 2016 Jun 21 11:23 AM
Hi,
I have some very old code that has worked for years (originally written for Sybase ASA 7) but has stopped working since I upgraded from ASA 17 (build 1358) to ASA 17 (build 2053).
We use ADO 2.5 and the Sybase ASA 17 ODBC driver and this is VB6.
Set cmdStoredProc = New ADODB.Command cmdStoredProc.CommandType = adCmdStoredProc
'Open a connection Set cmdStoredProc.ActiveConnection = dePNUIT.conApollo 'linked to s sybase 17 asa ODBC dsn cmdStoredProc.CommandTimeout = 0
'We set the stored procedure we are going to use cmdStoredProc.CommandText = "sp_insert_table_A"
'And try and loop through the parameters For intParam = 0 To cmdStoredProc.Parameters.Count - 1
...But this now fails and it returns cmdStoredProc.Parameters.Count = 0
It does not return a parameter list and any attempt to assign to a parameter fails as it says the parameter cannot be found.
I tried upgrading to ADO 2.7 as per the documentation, but this failed too.
Is this still supported?
Thanks Sully
There is a regression in one of the schema queries that the 17.0.4 ODBC driver issues. "PROCEDURE_OWNER" is a column name used when running in ODBC 2.0 mode. This column name conflicts with the PROCEDURE_OWNER special value that was introduced in 17.0.0. The quoting of the column name was inadvertently removed in 17.0.4 (17.0 build 2000).
A fix will be forthcoming.
A work-around is to revert to the older 17.0.0 ODBC driver.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The correction will appear in 17.0 build 2088 (and later).
Please would you confirm that to revert to the older 7.0.0.1358 driver, it is simply a case of swapping out the dbodbc17.dll file with the older build, there is nothing else required and/or no possible side effects from using mismatched builds. Many thanks.
Back from vacation... Yes, replacing the driver DLL(s) for 64-bit (bin64) and/or 32-bit (bin32) will do it.
Are you able to offer any assurance that mixing an older ODBC driver build (1359) with the newer Bin32 folder build (2053) will not have any repercussions or other unforeseen side effects for anything else? Running mismatched builds seems like a recipe for unforeseen consequences to me and this combination will clearly not have been tested in any way whatsoever.
Robert, I guess another way to use both 17.0.4.2053 and the ODBC drivers from 17.0.0.1359 on the same box would be to make a custom install (possibly created with the Deployment Wizard) for the latter (i.e. just a client install with ODBC) and choose a different product name for the latter, such as "My SA 17 ODBC Install" and using a custom driver name. You would then create your ODBC DSN with that particular driver name...
Cf. that FAQ: What product name am I supposed to use in the Deployment Wizard?.
Considering that folks have used ODBC drivers from different major releases against database servers from other releases with success, I don't think you are taking a big risk in using an ODBC driver that is a few builds earlier than the one containing the problem. When you use an ODBC driver from an earlier major release (say 16.0) against a server from a newer release (like 17.0), you do risk not be able to access some of the latest software features but since you are staying within version 17 releases, I can't think of any issue you might run into.
Thanks. That is probably as good assurance as is possible and, in combination with a being able to run both on versions on the same machine, is the best we have for now. Looking forward to the release of the proper fix in the next EBF, so we can remove this workaround.
For reference, this bug is now fixed in the recently released version 7.0.4.2100.
Cf. the CR #799815 in the according readme.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
68 | |
8 | |
8 | |
7 | |
6 | |
6 | |
6 | |
6 | |
6 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.