on ‎2016 Dec 06 11:35 AM
Hi,
I am connecting to a SQL Anywhere 17 database using the oledb provider SAOLEDB. I am using vb.net (2005) and can create a connection, read, write and execute stored procedures. But it seems that there are some issues with some of the datatypes being retrieved.
When we ran a select statement to get a GUID, it returned null in vb.net using oledb: SELECT newid() Then when I cast it, then the value came through. SELECT CAST(newid() AS VARCHAR(255))
When we ran a select statement which returned 2 time fields: Select SessionID, StartTime, EndTime from MySession It returned the message as an error: "The data value could not be converted for reasons other than sign mismatch or data overflow. For example, the data was corrupted in the data store but the row was still retrievable." Again CAST fixes this problem.
We have upgraded SQL Anywhere from 10 to 17 and have started getting these errors.
I appreciate that dotnet 2005 is old, have these datatypes changed? Apart from CAST or turning off CONVERSION_ERROR is there anything else I might be able to do?
Thanks Sully
Request clarification before answering.
I tried executing "select newid()" using a test script and it worked fine. Did not need to use any special options.
cscript test.vbs -q "select newid()"
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
newid()
{CA760185-54F4-4A05-9F81-E43D9D10D8DB}
rowCount = 1
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 5 | |
| 5 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.