Ora-24508 error when selecting a date field and rowid when using Unicode = true
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
Ora-24508 error when selecting a date field and rowid when using Unicode = true
This code:
OracleConnection oc = new OracleConnection();
oc.ConnectionString = "pooling = false";
oc.Unicode = true;
oc.AutoCommit = true;
oc.Server = "development";
oc.UserId = "user";
oc.Password = "pass";
oc.Open();
OracleCommand o2 = oc.CreateCommand();
o2.CommandType = CommandType.Text;
o2.ParameterCheck = true;
o2.CommandText = "drop table abc";
try
{ o2.ExecuteNonQuery(); }
catch
{ }
o2.CommandText = "create table abc (a varchar2(4000), b date)";
o2.ExecuteNonQuery();
o2.CommandText = "insert into abc (a,b) values ('aasaaadsfsdfsdfsdfsd',sysdate)";
o2.ExecuteNonQuery();
o2.CommandText = "select b,rowid from abc";
OracleDataReader or = o2.ExecuteReader();
if (or.Read())
{
or.GetString(0);
}
or.Close();
or.Dispose();
or = null;
when run on our environment produces a very vague "ora-24508 : Message 24508 not found" error. According to the internet this error is "Buffer not aligned correctly".
This only happens when Unicode = true.
OracleConnection oc = new OracleConnection();
oc.ConnectionString = "pooling = false";
oc.Unicode = true;
oc.AutoCommit = true;
oc.Server = "development";
oc.UserId = "user";
oc.Password = "pass";
oc.Open();
OracleCommand o2 = oc.CreateCommand();
o2.CommandType = CommandType.Text;
o2.ParameterCheck = true;
o2.CommandText = "drop table abc";
try
{ o2.ExecuteNonQuery(); }
catch
{ }
o2.CommandText = "create table abc (a varchar2(4000), b date)";
o2.ExecuteNonQuery();
o2.CommandText = "insert into abc (a,b) values ('aasaaadsfsdfsdfsdfsd',sysdate)";
o2.ExecuteNonQuery();
o2.CommandText = "select b,rowid from abc";
OracleDataReader or = o2.ExecuteReader();
if (or.Read())
{
or.GetString(0);
}
or.Close();
or.Dispose();
or = null;
when run on our environment produces a very vague "ora-24508 : Message 24508 not found" error. According to the internet this error is "Buffer not aligned correctly".
This only happens when Unicode = true.
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
this code which uses the System.Data.OracleClient classes works as expected.
System.Data.OracleClient.OracleConnection oc = new System.Data.OracleClient.OracleConnection();
oc.ConnectionString = "pooling = false; data source = development; unicode = true; User Id=user;Password=pass";
//oc.Unicode = true;
//oc.AutoCommit = true;
//oc.Server = "development";
//oc.UserId = "top_level";
//oc.Password = "top_level";
oc.Open();
System.Data.OracleClient.OracleCommand o2 = oc.CreateCommand();
o2.CommandType = CommandType.Text;
//o2.ParameterCheck = true;
o2.CommandText = "drop table abc";
try
{ o2.ExecuteNonQuery(); }
catch
{ }
o2.CommandText = "create table abc (a varchar2(4000), b date)";
o2.ExecuteNonQuery();
o2.CommandText = "insert into abc (a,b) values ('aasaaadsfsdfsdfsdfsd',sysdate)";
o2.ExecuteNonQuery();
o2.CommandText = "select b,rowid from abc";
System.Data.OracleClient.OracleDataReader or = o2.ExecuteReader();
if (or.Read())
{
or.GetDateTime(0);
or.GetString(1);
}
or.Close();
or.Dispose();
or = null;
System.Data.OracleClient.OracleConnection oc = new System.Data.OracleClient.OracleConnection();
oc.ConnectionString = "pooling = false; data source = development; unicode = true; User Id=user;Password=pass";
//oc.Unicode = true;
//oc.AutoCommit = true;
//oc.Server = "development";
//oc.UserId = "top_level";
//oc.Password = "top_level";
oc.Open();
System.Data.OracleClient.OracleCommand o2 = oc.CreateCommand();
o2.CommandType = CommandType.Text;
//o2.ParameterCheck = true;
o2.CommandText = "drop table abc";
try
{ o2.ExecuteNonQuery(); }
catch
{ }
o2.CommandText = "create table abc (a varchar2(4000), b date)";
o2.ExecuteNonQuery();
o2.CommandText = "insert into abc (a,b) values ('aasaaadsfsdfsdfsdfsd',sysdate)";
o2.ExecuteNonQuery();
o2.CommandText = "select b,rowid from abc";
System.Data.OracleClient.OracleDataReader or = o2.ExecuteReader();
if (or.Read())
{
or.GetDateTime(0);
or.GetString(1);
}
or.Close();
or.Dispose();
or = null;
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
However the previous bug we reported with parameters getting truncated does not appear to be fixed in version 4.00, only version 4.20.
If we buy an upgrade from version 3 to version 4, will we get a registered version of 4.20?
Also I would need to discuss with the rest of our business to decide if we were comfortable to go with a beta version of OraDirect in our product.
Is there an ETA for the final version of 4.20?
If we buy an upgrade from version 3 to version 4, will we get a registered version of 4.20?
Also I would need to discuss with the rest of our business to decide if we were comfortable to go with a beta version of OraDirect in our product.
Is there an ETA for the final version of 4.20?
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
-
- Posts: 51
- Joined: Mon 28 Aug 2006 11:07
the bug we mentioned here
http://www.crlab.com/forums/viewtopic.php?t=9958
which is fixed in 3.55.23 according to the version history which says
Bug with long string parameters fixed
this is not mentioned in the version 4 history anywhere and does not appear to be fixed.
This is very serious for us now, as we paid to upgrade to version 4 expecting a release this week that fixes both issues. I really hope you can provide an update to version 4 that fixes both issues ASAP.
http://www.crlab.com/forums/viewtopic.php?t=9958
which is fixed in 3.55.23 according to the version history which says
Bug with long string parameters fixed
this is not mentioned in the version 4 history anywhere and does not appear to be fixed.
This is very serious for us now, as we paid to upgrade to version 4 expecting a release this week that fixes both issues. I really hope you can provide an update to version 4 that fixes both issues ASAP.