我有一個正在建設使用ODP.NET,由於某種原因一直返回「ORA-01401參數化的插入查詢一個C#功能:插入對於列「異常值太大。ODP.NET的InsertCommand錯誤地返回ORA-01401:插入的值太大,
我已經徹底檢查有問題的字符串變量的長度,它屬於很好的數據庫列的最大大小之下(70個字符長在1024個字符長的VARCHAR2列)。奇怪的是,如果我將值作爲字符串而不是參數變量插入,插入就可以正常工作。下面的代碼(參數):
connectionString = GetConnectionString();
conn = new OracleConnection(connectionString);
OracleDataAdapter oda = new OracleDataAdapter();
conn.Open();
insertStatement = "INSERT INTO DOCS (ID, PATH, PAGES, USERID,SUFFIX, MASK) ";
insertStatement += "VALUES (:id, :itemUrl, 1, 'SHAREPOINT\\system',0,'000') ";
oda.InsertCommand = new OracleCommand(insertStatement, conn);
oda.InsertCommand.Parameters.Add(":id", docList[0].taskerID.ToString());
oda.InsertCommand.Parameters.Add(":itemUrl", itemUrl);
count += oda.InsertCommand.ExecuteNonQuery();
我在想,也許有我丟失的東西在這裏與ODP.NET或確實存在具有ODP.NET,我現在遇到一個錯誤。我在我的服務器上使用Oracle.DataAccess的9.2.0.7版本。有任何想法嗎?
是的,這也正是它,我完全忽略的位置問題的結合。而且我們本週剛剛從System.Data.OracleClient切換,所以這就是爲什麼它現在只能咬我。非常感謝您的幫助! – GVIrish 2011-05-04 20:37:08