打开与数据库的连接时出现Oracle odbc的错误消息

时间:2013-07-12 18:21:52

标签: c# oracle odbc

我有一个方法如下。我正在使用odbc与Oracle进行通信。在删除数据和使用select语句时,我实际上没有其他方法的问题。

当我点击cn.open()行时,我一直收到以下错误信息。

Message =“ERROR [HYC00] [Oracle] [ODBC]未实现可选功能。\ r \ nERROR [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;
                    }

0 个答案:

没有答案