Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

ColdFusion 9 ODBC Server crashes when talking to Sybase over SQL Anywhere 11

New Here ,
May 14, 2010 May 14, 2010

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      :

1.3K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
May 14, 2010 May 14, 2010

Have you considered using a JDBC driver, either the one bundled with CF or another one, instead of ODBC?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
May 14, 2010 May 14, 2010

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

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 14, 2010 May 14, 2010
LATEST

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources