我嘗試從C#程序與ODP.NET執行follwing聲明:SET_NLS故障轉移的Oracle ODP.net
string sql = "BEGIN dbms_session.set_nls('NLS_NUMERIC_CHARACTERS','''.,'''); END;";
using (OracleConnection connection = new OracleConnection("Data Source=db;User Id=a;Password=b"))
{
connection.Open();
using (OracleCommand command = new OracleCommand(sql, connection))
{
command.ExecuteNonQuery();
}
connection.Close();
}
我檢索follwing錯誤消息:
ORA-02074:不能在分佈式事務中設置NLS
我沒有在我的代碼中使用任何事務。 OracleConnection是一個隱式分佈式事務嗎?如果我將enlist = false添加到它工作的連接字符串中。但我不知道爲什麼。
嘗試將DistribTX = 0添加到連接。字符串請參閱[http://stackoverflow.com/questions/33659377/cannot-set-nls-in-a-distributed-transaction-error-using-ssis](http://stackoverflow.com/questions/33659377/cannot-集-NLS-IN-A-分佈式事務錯誤使用-SSIS) – yochyoch