We have a stored procedure that uses a varchar(8000) as an output parameter.
The stored proc was written in SQL 2000, and is called by .Net 1.0 clients.
We copied the stored proc to a test server that has SQL Server 2005
installed, and are trying to write a client in Visual Studio 2005 using the
.Net 2.0 frame work. The problem is that the following error is being
thrown...
"ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid
parameter 3 (''): Data type 0x23 is a deprecated large object, or LOB, but
is marked as output parameter. Deprecated types are not supported as output
parameters. Use current large object types instead."
When we run the stored proc from the SQL 2005 management studio query
window, it works fine. The output parameter gets populated, and there is no
error. But when we call it via ODBC from the client, it throws the error.
I thought maybe the ODBC driver was causing the error, so we installed the
old .Net 1.0 data components, but it still generates the error.
It seems that you can use varchar data type with a size of 3999 or smaller,
but anything larger than that will throw the above mentioned error. I know
we could just change the data type, but when we put the code on the
production server, it will be connecting to the old SQL 2000 database, so I
can't use the new data types in the code. Also, we are considering
upgrading the production database, but I am afraid that it might break all
of the current clients if there isn't a resolution to this situation.
Any ideas?
Thanks,
Shawn Brown
===================================
This list is hosted by DevelopMentorĀ® http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com