2017-06-14 58 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中这个问题的常见原因包括大小写敏感性问题,当然,连接到错误的数据库;)。 –