We have an application developed on 5.35.54.0 that is working correctly on different Oracle instances using Direct Mode:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
Oracle Database 10g Express Edition Release 10.2.0.1.0 32bit
The recent upgrade to the latest version (6.50.228.0) made the application not working anymore on the 10.2.0.4 (64bit) instance.
The same application is still working fine on the XE Oracle DB
Here's how the problem can be reproduced:
Code: Select all
using System;
using System.Collections.Generic;
using System.Linq;
using ONE2ONEXEContext;
/*
CREATE TABLE ONE2ONE.MATERIAL
(
BORG NVARCHAR2(10),
MATERIAL NVARCHAR2(20),
MATERIAL_DESCR NVARCHAR2(50),
MATERIAL_DESCR_LONG NVARCHAR2(50),
MATERIAL_DESCR_HTML NVARCHAR2(500),
MATERIAL_GROUP NVARCHAR2(10),
MATERIAL_STATUS_B2B NVARCHAR2(10),
MATERIAL_STATUS_B2C NVARCHAR2(10),
HYBRID NVARCHAR2(20),
ACTIVE_B2B_FL NUMBER(1),
ACTIVE_B2C_FL NUMBER(1),
ORDERABLE_B2B_FL NUMBER(1),
ORDERABLE_B2C_FL NUMBER(1),
SORTORDER_B2B NVARCHAR2(20),
SORTORDER_B2C NVARCHAR2(20),
UNITS_AVAIL_TOTAL_B2B NUMBER(15,3),
UNITS_AVAIL_LEFT_B2B NUMBER(15,3),
UNITS_AVAIL_TOTAL_B2C NUMBER(15,3),
UNITS_AVAIL_LEFT_B2C NUMBER(15,3),
LOCAL_USAGE_1 NVARCHAR2(25),
LOCAL_USAGE_2 NVARCHAR2(25),
LOCAL_USAGE_3 NVARCHAR2(25),
ADD_DT DATE,
ADD_NM NVARCHAR2(50),
LAST_MAINT_DT DATE,
LAST_MAINT_NM NVARCHAR2(50),
RECORD_STATUS_CD NVARCHAR2(1) DEFAULT 'A'
);
*/
namespace O2OOracleTest
{
class Program
{
static void Main(string[] args)
{
ONE2ONEXEDataContext context = new ONE2ONEXEDataContext();
List dmList = (from t in context.MATERIALs
where t.BORG == "borg1" &&
t.MATERIAL1 == "mat1"
select t).ToList();
if (dmList != null && dmList.Count > 0)
{
MATERIAL dm = dmList.First();
context.MATERIALs.DeleteOnSubmit(dm);
context.SubmitChanges();
}
MATERIAL insMat = new MATERIAL();
insMat.MATERIAL1 = "mat1";
insMat.BORG = "borg1";
context.MATERIALs.InsertOnSubmit(insMat);
context.SubmitChanges();
context.Dispose();
}
}
}
ORA-01400: cannot insert NULL into ("ONE2ONE"."MATERIAL"."MATERIAL")
when the backend DB is Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit.
This works fine for the XE instance.
Many thanks!