Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL ODBC driver compatibility
Message
From
03/09/2015 10:08:26
 
General information
Forum:
Visual FoxPro
Category:
Client/server
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows Server 2012
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Desktop
Miscellaneous
Thread ID:
01623958
Message ID:
01624232
Views:
70
Hi Jeff,

if you're getting away with using the old driver, great. We have run into issues with it, probably because we are using features not supported by that driver.

If you found a need to use a newer driver, because you are using your own dataclass the changes you make there will be available everywhere, so it's not like you would have to rewrite the entire application.

I agree: the behavior of the driver in assessing length to determine type is bizarre. But then again, that's why there's mapping available.

Hank

>>Hi Jeff,
>>
>>that is not my experience, on production systems running for several years now. We haven't used the SQL2000 driver since 2005 came out.
>>
>>The difference, I believe, is that we map types in the DBC (can also be done with a cursoradapter).
>>
>>Hank
>
>Hank,
>
>Sure, I suppose mapping types via DBC remote views or using the cursoradapter works, but we're using a dataclass that eventually uses SQLEXEC() and we only see whatever the SQL Driver we've picked returns.
>
>We have hundreds of tables in about 12 different databases and some are in MySQL. Rewriting to use the cursoradapter at this point is out of the question, especially since we're rewriting the whole thing in .NET anyway.
>
>It's interesting to note the differences that SQLCOLUMNS() returns using the SQL Server 6 (older driver) versus the Native Client 10 or 11 against varchar(MAX). The SQL Server 6 driver sees varchar(MAX) as a TEXT data type and therefore maps it as a Memo. The Native clients see varchar(MAX) as varchars, but the width of the column is 0 (zero), thus it comes down as character without data.
>
>For Date and Datetime2 the SQL Server 6 driver returns a Data_type of -9 and the Native Drivers return 9 and 11, respectively. In the Type_name column all drivers return the correct SQL data type (Date or Datetime2), but my guess is that VFP uses the numeric Data_type column to determine what kind of bucket to put the data in. It's all about the buckets that VFP builds when using ODBC. Maybe, as you say, you can change that behavior using the cursoradapter.
>
>Interesting stuff!
Previous
Reply
Map
View

Click here to load this message in the networking platform