Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tables with xml columns: Unrecognised data type 0xF1 at offset 0x02BC #67

Closed
munimkazia opened this issue Dec 17, 2012 · 4 comments
Closed

Comments

@munimkazia
Copy link

When I try to do a select on a table with one of the columns defined as XML data type, I get the following error. Removing xml from the selected columns resolves the issue.

/home/dataservices/node_modules/tedious/lib/token/token-stream-parser.js:103
        throw error;
              ^
Error: Unrecognised data type 0xF1 at offset 0x02BC
    at parse (/home/dataservices/node_modules/tedious/lib/metadata-parser.js:21:11)
    at Object.parser [as 129] (/home/dataservices/node_modules/tedious/lib/token/colmetadata-token-parser.js:11:16)
    at Parser.nextToken (/home/dataservices/node_modules/tedious/lib/token/token-stream-parser.js:81:35)
    at Parser.addBuffer (/home/dataservices/node_modules/tedious/lib/token/token-stream-parser.js:65:17)
    at Connection.sendDataToTokenStreamParser (/home/dataservices/node_modules/tedious/lib/connection.js:527:35)
    at Connection.STATE.SENT_CLIENT_REQUEST.events.data (/home/dataservices/node_modules/tedious/lib/connection.js:189:23)
    at Connection.dispatchEvent (/home/dataservices/node_modules/tedious/lib/connection.js:433:59)
    at MessageIO.Connection.connectOnPort (/home/dataservices/node_modules/tedious/lib/connection.js:387:20)
    at MessageIO.EventEmitter.emit (events.js:96:17)
    at MessageIO.eventData (/home/dataservices/node_modules/tedious/lib/message-io.js:57:12)
@munimkazia
Copy link
Author

I'd post a fix with the updated data-type.js file, but I am not very sure how to define the data type there, especially the declaration and writeParameterData function. I am not very well versed with the tds protocol or ms sql server.

@pekim
Copy link
Collaborator

pekim commented Dec 30, 2012

Unfortunately support for the XML data type is non-trivial. It will require implementation of support for the MS-BINXML format. As it is a discreet format that is not a core part of TDS, it should be implemented as a library separate from tedious, that tedious can then depend on.

I'm afraid that I have no plans to implement the format. If someone else does, then I'd consider adding a dependency on the new library and support for the XML data type.

@pekim
Copy link
Collaborator

pekim commented Jan 2, 2013

I was mislead by the TDS documentation. Some testing shows that XML column values are returned as text. So it may not be too difficult to implement. I'll investigate further.

@munimkazia
Copy link
Author

@pekim thanks. I've been working around it by typecasting xml into text in my queries right now.

@pekim pekim closed this as completed in eb54b46 Jan 2, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants