私は以下の方法を持っています。odbc を使用して Oracle と通信しています。データを削除し、選択ステートメントを使用している間、実際には他の方法で問題はありません。
cn.open() 行にヒットすると、以下のエラー メッセージが表示され続けました。
メッセージ = "エラー [HYC00] [Oracle][ODBC]オプション機能が実装されていません。\r\nエラー [HY000] [Oracle][ODBC]MTS サポートが利用できません。ORAMTS.DLL を読み込めませんでした"
これを修正する方法についてのアイデアはありますか?
public int WriteToOracleDb(IList<ExcelData> mn)
{
int totalCount = 0;
string connect = ConfigurationManager.ConnectionStrings["myconnect"].ConnectionString;
try
{
using (TransactionScope scope = new TransactionScope())
{
string sqlIns = "insert into u_generic_data ( " +
"businessunitcode, generic_job_id, row_status, row_message, customernumber," +
"productcode, numbervalue1, numbervalue2, numbervalue3, numbervalue4" + "," +
"values (" +
":businessunitcode, :generic_job_id, :row_status, :row_message, :customernumber" + "," +
":productcode, :numbervalue1, :numbervalue2, :numbervalue3, :numbervalue4" + ")";
OdbcConnection cn = new OdbcConnection(connect);
OdbcCommand cmdIns = new OdbcCommand(sqlIns, cn);
cn.Open();
for (int i = 0; i < mn.Count; i++)
{
cmdIns.Parameters.AddWithValue("businessunitcode", mn[i].BusinessUnitCode);
cmdIns.Parameters.AddWithValue("generic_job_id", mn[i].GenericJobId);
cmdIns.Parameters.AddWithValue("row_status", mn[i].RowStatus);
cmdIns.Parameters.AddWithValue("row_message", mn[i].RowMessage);
cmdIns.Parameters.AddWithValue("customernumber", mn[i].CustomerNumber);
cmdIns.Parameters.AddWithValue("productcode", mn[i].ProductCode);
cmdIns.Parameters.AddWithValue("numbervalue1", mn[i].NumberValue1);
cmdIns.Parameters.AddWithValue("numbervalue2", mn[i].NumberValue2);
cmdIns.Parameters.AddWithValue("numbervalue3", mn[i].NumberValue3);
cmdIns.Parameters.AddWithValue("numbervalue4", mn[i].NumberValue4);
cmdIns.ExecuteNonQuery();
cmdIns.Parameters.Clear();
}
scope.Complete();
cn.Close();
totalCount = mn.Count();
}
}
catch(Exception ex)
{
//resModel.ErrorMessages = ex.Message.ToString();
}
return totalCount;
}