ColdFusion Muse

Tabular Data Stream Error (Who's Using a Cursor Select Method?)

Mark Kruger August 14, 2008 2:27 PM Coldfusion & Databases Comments (4)

It's not often I see an error that I have simply never seen before. Here's one that some of you may recognize. It happened on a query using SELECT * against a fairly limited table on an MSSQL 2005 database. There wasn't anything unusual about the query (except for the bad form of using the asterisk). Here's the error that was thrown:

rror Executing Database Query.
[Macromedia][SQLServer JDBC Driver][SQLServer]
The incoming tabular data stream (TDS) remote procedure call (RPC) protocol
stream is incorrect.
Parameter 2 (""""): Data type 0x38 is unknown.
The specific sequence of files included or processed is: ******

The Fix

Read More
  • Share:

4 Comments

  • ike's Gravatar
    Posted By
    ike | 8/14/08 2:09 PM
    Interesting... I dunno... if it causes regular select statements to fail, that would mean you would need 2 DSN's in your app right? One for your regular queries and a separate one for handling cursor-based operations? ... Seems to me like it's just liable to be a big learning curve and not much in the way of a reward at the end...

    Granted, I could be way off-base, it could be the wholy grail of database access that nobody ever exploited just out of a lack of awareness, like how most programmers don't use foreign key constraints. :)

    I may tinker with it in my dubious spare time... :P

    At the moment I've been feverishly trying to get the onTap framework back up onto a public domain (http://on.tapogee.com) and a first version of the plugin service for discovering and installing them within the application (similar to the way you can install extensions directly within Eclipse or Firefox 3). Not to mention finding any and every avenue I can to generate more interest in the framework, like Kay Smoljak's interview series and subtle plugs in the comments on blogs from famous people like Sean Corfield, Mark Kruger or Ray Camden... Did I mention Mark Kruger? ;)
  • orangepips's Gravatar
    Posted By
    orangepips | 8/15/08 9:37 AM
    Setting the select method on the JDBC driver affects how the SQL is passed to the database. You can see this by running a trace through SQL Server Profiler (under the Performance Tools Menu) and hitting some pages through your browser that have cfquery on them. Then change the JDBC connection setting and do the same again and you will see the same SQL statements being passed differently. So to rephrase this means is that you don't need to write different SQL, but rather the driver sends it differently, based on this setting.
  • ike's Gravatar
    Posted By
    ike | 8/15/08 10:37 AM
    So I'm guessing then that this setting only exists to support db servers that are configured in a specific, non-default way?
  • Olle Myrberg's Gravatar
    Posted By
    Olle Myrberg | 12/4/11 11:23 AM
    Thanks for the information, saved my hours of time.