Information générale
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
It is my understanding that VFP SQL Pass-through (SPT) will not correctly bring down a varchar(max) using SS Native Client 11.0 as the ODBC driver. The reason it works with the CursorAdapter is because it respects the mapping that was provided. Without custom mapping via the CursorAdapter VFP just 'guesses' as to what the receiving bucket should be and it does so incorrectly with varchar(max).
My guess is that the VFP SPT was written before varchar(max) existed and it has not been updated.
I suspect, however, that if you want to go totally hardcore you can probably (maybe) create your own VFP code to talk to the ODBC driver directly and create your own mapping and buckets. Back in the day there was an MS tool called ODBCTest or something like that. I believe that this task would be huge.
Doesn't the plain old 'SQL Server' driver work with varchar(max). Maybe you could use that for your reports.
>Hi,
>
>I have been testing my VFP 9 application with the SQL Server Native Client 11.0. I changed the type Text with Varchar(MAX). I use CursorAdapter.
>
>Here is what I come across.
>1. Good thing is that where the data is retrieved and saved via CursorAdapter, I have no problems.
>
>2. Then I tried to get the data from the column of type Varchar(MAX) without CursorAdapter. I do SQL Select and then assign the value of the column to a variable. The variable is EMPTY.
>
>So, it appears - please correct me if I am wrong - that with the SQL Server Native Client 11.0 and type Varchar(MAX), I must always get the data via CursorAdapter. Correct?
>
>TIA
>
>UPDATE. Since most if not all of my reports get the data from the SQL Server by SQL Select, I need to find a way to MAP the VarChar(Max) to a MEMO field, without CursorAdapter. Is it possible? And if yes, how?
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement