Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
INSERT Text into SQL Server Varbinary col using SPT
Message
From
20/03/2018 19:44:33
 
 
To
18/03/2018 20:24:23
General information
Forum:
Visual FoxPro
Category:
Client/server
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows Server 2012 R2
Database:
MS SQL Server
Application:
Desktop
Miscellaneous
Thread ID:
01658804
Message ID:
01658888
Views:
67
This message has been marked as a message which has helped to the initial question of the thread.
>I have a large character variable (400,000 bytes), the result of a FILETOSTR() operation. I want to INSERT this value into a SQL Server varbinary(MAX) column.
>
>This doesn't work:
>lcFile = FILETOSTR( {some file} )
>
>lcSQL = "INSERT INTO dbo.SomeTable ( VarBinCol ) VALUES ( ?m.lcFile )"
>
>=SQLEXEC( MyHandle, m.lcSQL )
>
>* ODBC error:
>* Error Message: [Connectivity error: [Microsoft][SQL Server Native Client 11.0][SQL Server]Operand type clash: text is incompatible with varbinary(max)]
>
>I can do this with a remote view but I've already coded the routine using SPT. If there's some magic trick to make this work using SPT I'd prefer to use that.

You have to cast the data on the VFP side before passing the parameter to the ODBC driver.
m.FileContents = CAST(FILETOSTR(GETFILE()) AS Blob)

? SQLEXEC(m.MyHandle, "INSERT INTO dbo.SomeTable (VarBinCol) VALUES (?m.FileContents)")
Update: Basically, this is what Naomi said this in her post (sorry, Naomi). An additional note: to fetch back the data properly, "MapBinary" cursor property should be set to .T.
----------------------------------
António Tavares Lopes
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform