node-odbc icon indicating copy to clipboard operation
node-odbc copied to clipboard

Only returning first character on macOS.

Open joshuapinter opened this issue 7 years ago • 2 comments

I have a strange issue here that seems to only be affecting macOS, not Windows.

I connect to an ODBC via a MySQL driver just fine but when I run a query like:

const query = "SELECT * FROM tasks LIMIT 10";

const tasks = odbc.querySync( query );

console.log( "tasks", tasks );

The resulting fields from the tasks table only have the first character returned.

For example, here's what the column and value looks like in the MySQL table:

screenshot 2018-06-30 16 56 52

And here is what is returned to the console for that same record:

screenshot 2018-06-30 16 57 47

When I use iODBC Demo Ansi to connect and run the same query, I get the correct, full value:

screenshot 2018-06-30 16 58 25

So that makes me think that the ODBC connection is fine and it might be something to do with how the node-odbc is handling the data.

Even stranger, when I run this on Windows, it returns the correct, full value through node-odbc just fine.

screenshot 2018-06-30 16 59 49

In the event that others have run into this or anybody knows what I could investigate, I've added it here.

Thanks for any help!

joshuapinter avatar Jun 30 '18 23:06 joshuapinter

@joshuapinter What is the datatype of that field?

wankdanker avatar Jul 02 '18 13:07 wankdanker

VARCHAR(50)

screenshot 2018-07-02 09 30 34

I tried changing it to TEXT and VARBINARY and a couple others to see if it helped. No change. It seems only the numeric values, like INT come through with more than the first character.

But, everything works fine on iODBC Demo application.

joshuapinter avatar Jul 02 '18 15:07 joshuapinter