關於Oracle.DataAccess.Client.OracleConnection的類型初始值設定項引發異常


 using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["NSBD_SHUJUKU"].ConnectionString))
                {
                    conn.Open();
                    OracleTransaction trans = conn.BeginTransaction();
                    try
                    {
                        OracleCommand command = new OracleCommand();
                        command.Connection = conn;

                        //到此為止跟我們,使用的基本一樣 

                        //然后需要添加參數了

                        command.ArrayBindCount = batchCount;
                        

                        //注意參數寫法:
                        string insert = string.Format("insert into {0} (spointguid,dsdate{1},srcnote,errnote) values(:spointguid, :dsdate", tableName, fieldNames);

                       
                        string[] guids = guidList.GetRange(startIndex, batchCount).ToArray();
                        DateTime[] dates = dateLists.GetRange(startIndex, batchCount).ToArray();

                        List<string[]> values = new List<string[]>();

                        for (int i = 0; i < fieldNames.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Length; i++)
                        {
                            insert += ",:V" + i.ToString();
                            values.Add(valueDics[i].ToArray());
                          
                        }
                        insert += ",:srcNote,:errNote)";
                        command.CommandText = insert;
                        // 添加參數 

                        OracleParameter guidParam = new OracleParameter("spointguid", OracleDbType.Varchar2);
                        guidParam.Direction = ParameterDirection.Input;
                        guidParam.Value = guids;
                        command.Parameters.Add(guidParam);

                        OracleParameter dateParam = new OracleParameter("dsdate", OracleDbType.Date);
                        dateParam.Direction = ParameterDirection.Input;

                        dateParam.Value = dates;

                        command.Parameters.Add(dateParam);

                        
                        for (int i = 0; i < values.Count; i++)
                        {
                            OracleParameter valueParam = new OracleParameter("V" + i.ToString(), OracleDbType.Single);
                            valueParam.Direction = ParameterDirection.Input;
                            valueParam.Value = values[i];
                            command.Parameters.Add(valueParam);
                        }
                        OracleParameter srcNoteParam = new OracleParameter("srcnote", OracleDbType.Char);
                        srcNoteParam.Direction = ParameterDirection.Input;
                        srcNoteParam.Value = srcNote.ToArray();
                        command.Parameters.Add(srcNoteParam);

                        OracleParameter errNoteParam = new OracleParameter("errcnote", OracleDbType.Char);
                        errNoteParam.Direction = ParameterDirection.Input;
                        errNoteParam.Value = errNote.ToArray();
                        command.Parameters.Add(errNoteParam);

                      
                        correctRows += command.ExecuteNonQuery();

                      
                        trans.Commit();
                        conn.Close();
                        command.Dispose();

                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        // throw;
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
                #endregion
            }
            return correctRows;

        }
代碼

然后運行會有錯誤,當然,cs文件上邊的引用已經弄好

 

然后這個問題我遇到的是,需要把這4個文件,拷到程序運行exe的同級目錄(bin\debug)

然后在運行就通過了

 

這個是解決了,看好多帖子,別人的都是需要,OraOps10還有11的版本問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM