Copy link to clipboard
Copied
We have recently upgraded our database from Sybase 6 to Sybase 11. We are also hoping to move from ColdFusion MX 6.1 to ColdFusion 9 in the near future. In both environments, the ColdFusion ODBC Server enters a state where it is hung and the ColdFusion Application Server needs to restart. I have been testing in CF9 since it actually gives an error message, where CF6.1 just boots me out to the login page. Connections are setup using the ODBC Socket in CF Administrator.
In the ColdFusion 9 ODBC Server debug log we see the following warnings as it is trying to run GetDescribe.
It appears that it is unable to retrieve Catalog Name, but I don’t know why this would cause the ODBC Server to die. In Sybase 6, the Catalog Name is blank as well, but there are no warnings either.
This statement is doing a select * and returning 155 columns. Following is a successful example where only 4 columns are retrieved. I could (and have) gone through and chop my select statements, but since this worked in Sybase 6 I wonder if there is a handshaking problem? I would appreciate any advice on setting up my DSN or ODBC server that may help this issue.
Thank you for your help!
Holly Ackerman
Applications Programmer
Survey Research Operations – University of Michigan
** ColdFusion 9 ODBC Server debug log failure **
Tue May 11 13:41:58 2010: SWSOC_CursorVar_DescribeCol entry descIx = 155
Tue May 11 13:41:58 2010:SQLColAttribute SQL_DESC_CATALOG_NAME sqlRc = 1
Tue May 11 13:41:58 2010: SWANDBSRVC_OdbcError entry
Tue May 11 13:41:58 2010: SWSOC_OdbcErrorWithState entry
Tue May 11 13:41:58 2010:Diagnostics (Warning) added: message:[01004][ODBC Socket][Sybase][ODBC Driver]Data truncated;code:0;component:6;function:10;row:0;column:0
Tue May 11 13:41:58 2010: SWSOC_OdbcErrorWithState exit
Tue May 11 13:41:58 2010: SWANDBSRVC_OdbcError exit
Tue May 11 13:41:58 2010: SWSOC_CursorVar_DescribeCol exit
Tue May 11 13:41:58 2010:SWANDB_GetDescribe exit
Tue May 11 13:41:58 2010:The active request for session 8 is interrupted due to an unexpected exception
Tue May 11 13:41:59 2010:SWANDB_FreeVariables entry
Tue May 11 13:41:59 2010:SWANDB_FreeVariables exit
Tue May 11 13:41:59 2010:SWANDB_Close entry
Tue May 11 13:41:59 2010:SWANDB_Close exit
Tue May 11 13:41:59 2010:SWANDB_Logoff entry
Tue May 11 13:41:59 2010:Abnormal logoff detected (caused by crash, kill, ...)
Tue May 11 13:41:59 2010:Logoff behaviour not set, using database default
Tue May 11 13:41:59 2010:SWANDB_Logoff exit
ColdFusion 9 ODBC Server dump file:
//=====================================================
Tuesday, May 11, 2010 1:41:58 PM ACCESS_VIOLATION
Stack Dump:
PC:7C82CAC2-Seg:1;Off:0002BAC2-RtlDeleteCriticalSection+11A
PC:7C833A52-Seg:1;Off:00032A52-RtlGetFullPathName_UstrEx+16D
PC:7C82B61B-Seg:1;Off:0002A61B-wcscpy+180
PC:0046F5AB-Seg:1;Off:0006E5AB
PC:0046F5CD-Seg:1;Off:0006E5CD
//=====================================================
When I look at the ODBC Server debug log for other GetDescribe statements on the same table, the same warnings appear, and the catalog name is blank, but it seems to proceed fine from there. In the example below, I limit the select to 4 columns.
** ColdFusion 9 ODBC Server debug log success **
Tue May 11 13:41:37 2010: SWSOC_CursorVar_DescribeCol entry descIx = 4
Tue May 11 13:41:37 2010:SQLColAttribute SQL_DESC_CATALOG_NAME sqlRc = 1
Tue May 11 13:41:37 2010: SWANDBSRVC_OdbcError entry
Tue May 11 13:41:37 2010: SWSOC_OdbcErrorWithState entry
Tue May 11 13:41:37 2010:Diagnostics (Warning) added: message:[01004][ODBC Socket][Sybase][ODBC Driver]Data truncated;code:0;component:6;function:10;row:0;column:0
Tue May 11 13:41:37 2010: SWSOC_OdbcErrorWithState exit
Tue May 11 13:41:37 2010: SWANDBSRVC_OdbcError exit
Tue May 11 13:41:37 2010: SWSOC_CursorVar_DescribeCol exit
Tue May 11 13:41:37 2010:SWANDB_GetDescribe exit
Tue May 11 13:41:37 2010:SSP OUTPUT
===================================
sspVersion:9
error :1
--------------------------------------------
CHAIN
num:4
subPacketError:0
OPEN
stmtRefnum:3
EXECDIRECT
row count :-1
result available :1
transaction
output available :no
GETDESCRIBE
numDescs:4
(logging describe cursorvar:1)
auto unique :no
case sensitive:no
catalog name :
money :no
label :npreferenceid
length :5
name :npreferenceid
nullable :no
scale
schema name :DBA
searchable :searchable
table name :<table name successfully displayed here>
type :numeric
type name :numeric
unsigned :no
updatable :yes
encoding :
Copy link to clipboard
Copied
Have you considered using a JDBC driver, either the one bundled with CF or another one, instead of ODBC?
Copy link to clipboard
Copied
I've got no idea about what's causing your issue, but as an aside: can you not use the Sybase JDBC driver, rather than going JDBC->ODBC->Sybase?
--
Adam
Copy link to clipboard
Copied
Thank you for your help.
Unfortunately, we can't use the Sybase DSN that is bundled with ColdFusion. We had a Sybase expert in house, and that connection is to a different type of server. We need a SQL Anywhere DSN. We did speak with him about using the native driver, but he thinks that may not work correctly for us. I am at the stage where I want to try everything though, so I will give this a try.