Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: "No size set for variable length data" Oracle update error with empty string in .NET
arvee wrote:
> Hi - I'm updating an Oracle table with an empty string and getting the
> error:
>
> An unhandled exception of type 'System.Exception' occurred in
> system.data.dll
> Additional information: Parameter 'p1': No size set for variable length data
> type: String.
>
> The column is nullable and of type varchar2(50). I'm aware that I can store
> DBNull.Value instead and Oracle won't complain, but, I was hoping to avoid
> testing and converting for that condition. It seems the .NET class lib
> should handle empty strings, no? There are times I'd like to throw the
> dataset into a datagrid control and have the user have there way with it,
> therefore, its not ideal to have to validate each string value on the
> update.
>
> Question 1: Is this a bug or am I doing something wrong?
> Question 2: If its a bug, is there an elegant workaround?
>
>
> Sample C# code is:
>
> // create typed dataset (basic customer list: name, address, phone, etc.)
> CustomerDS dsCustomer = new CustomerDS();
>
> // create data adapter
> OracleDataAdapter daCustomers = new OracleDataAdapter("SELECT * FROM
> Customers", connectionString);
>
> // use command builder to create update, insert and delete commands based on
> select
> OracleCommandBuilder cb = new OracleCommandBuilder(daCustomers);
>
> // get some data
> daCustomers.Fill(dsCustomer.CUSTOMERS)
>
> // delete Middle Name, for example
> dsCustomer.CUSTOMERS.Rows[0]["MIDDLE_NAME"] = "";
>
> // store new dataset
> daCustomers.Update(dsCustomer, "Customers");
>
> // boom - get error (even though I put it in a try...catch block!)
Why an empty string? This is Oracle not a Microsoft product: Use NULL.
But this does not seem to be an Oracle error rather a driver error.
What version of Oracle?
What driver?
-- Daniel A. Morgan University of Washington damorgan_at_x.washington.edu (replace 'x' with 'u' to respond)Received on Fri Apr 08 2005 - 17:43:53 CDT