开发环境: VB.NET .net 4.5 ODP.NET Oracle 11g
您好我有一个奇怪的问题,在我的开发环境中已经工作了很多年的代码突然停止工作。 OracleDataAdapter返回错误ORA-00942:表或视图不存在。但是,传递给适配器的SQL没有任何问题,SQL在SQLDeveloper中成功执行。看起来问题出在我的VS开发环境中,因为之前编译的应用程序版本正常运行。我重新编译了整个VS解决方案并重新启动了我的开发机器,然后重新编译,没有任何乐趣。
返回的确切错误显示在以下日志条目中:
12 | 09:43:50 | \用户|跟踪| Oracle.DataAccess.Client.OracleException ORA-00942:表或视图不存在
在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(Object Instance,Type Type,String MemberName,Object [] Arguments,String [] ArgumentNames,Type [] TypeArguments,Boolean [] CopyBack)
在QueryMain.uxBWFetch_DoWork(Object sender,DoWorkEventArgs e)中的d:\ users \ USER \ Documents_VSSWorkArea \ PSALERTS 2017 \ PSALERTS Client \ Query \ QueryMain.vb:第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 :(得分:0)
那么现在,我不觉得愚蠢。事实证明,虽然我的目的是针对我们的测试数据库进行开发,但代码中生成的SQL包含一个指向生产的硬编码连接字符串,当然代码包含对未生产的新表的引用,因此出现错误消息...... DOH ......