2017-06-14 83 views
1

開發環境: VB.NET .NET 4.5 ODP.NET 的Oracle 11gOracleDataAdapter開始返回錯誤ORA-00942:表或視圖不存在

您好我有一個奇怪的問題,代碼我已經工作了好幾年的開發環境突然停止了工作。 OracleDataAdapter返回錯誤ORA-00942:表或視圖不存在。但是,傳遞給適配器的SQL沒有問題,SQL在SQLDeveloper中成功執行。看起來問題在於我的VS開發環境,因爲以前編譯的應用程序版本正常運行。我重新編譯了整個VS解決方案並重新啓動了我的開發機器,然後重新編譯而沒有任何喜悅。

返回確切的錯誤被顯示在下面的日誌條目:

12 | 09:43:50 | \用戶|跟蹤| Oracle.DataAccess.Client.OracleException ORA-00942:表或視圖不存在
at Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure,Object [] Arguments,Boolean [] CopyBack,BindingFlags Flags) at Microsoft.VisualBasic.CompilerServices.NewLateBinding.ObjectLateGet(Object Instance,Type Type,String MemberName,Object [] Arguments,String [] ArgumentNames,Type [] TypeArguments,Boolean [] CopyBack) at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet (對象實例,類型類型,字符串成員名稱,對象[]參數,字符串[]參數名稱,類型[]類型參數,布爾值[] CopyBack) 位於d:\ users \ USER \中QueryMain.uxBWFetch_DoWork(Object sender,DoWorkEventArgs e) Documents_VSSWorkArea \ PSALERTS 2017 \ PSALERTS Client \ Query \ QueryMain.vb:line 677

這裏是產生錯誤的代碼:

 Dim myDataset As New DataSet 
     Dim myUtils As New Utils 

     _myConnection = New OracleConnection 
     _myConnection.ConnectionString = _connectStr 

     Try 
      _myDataAdapter = New OracleDataAdapter(SQLStatement, _myConnection) 
      _myDataAdapter.Fill(myDataset) 
      _myConnection.Close() 
     Catch ex As Exception 
      Throw 
     Finally 
      CType(_myConnection, IDisposable).Dispose() 
     End Try 

     Return myDataset 

     GC.Collect() 

當我們試圖填充數據集生成該錯誤:

_myDataAdapter.Fill(myDataset)

如果任何人有遇到這種情況,請你讓我知道,因爲它是驅使我分心!

親切的問候 保羅J.

回答

0

現在好了,不要我覺得愚蠢。雖然我的意圖是針對我們的測試數據庫進行開發,但代碼中生成的SQL包含一個指向生產的硬編碼連接字符串,當然代碼還包含對未在生產中的新表的引用,因此錯誤消息... DOH ...

+0

一般而言,您應該遵循消息所說的內容。在這種情況下,它說表格不在那裏。出於這個原因,我很驚訝你沒有包含SQL語句本身。 Oracle中這個問題的常見原因包括大小寫敏感性問題,當然,連接到錯誤的數據庫;)。 –