0

私は以下の方法を持っています。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;
                    }
4

0 に答える 0