我无法获取包含Natural连接的某些SQL语句以使用OracleDataAdapter.Fill()。我正在使用Oracle.ManagedDataAccess 4.121.1.0。
为了说明这一点,请查看以下有效的SQL语句。所有都在SQL编辑器中正常工作。但是,当我使用OracleDataAdaper.Fill方法时,最后一个不能通过ODP.NET工作。我在使用任何这些语句的OracleDataReader时没有遇到任何麻烦。
适用于OracleDataAdapter.Fill
SELECT *
FROM Operation_Settings, Settings
WHERE Settings.Setting_ID = Operation_Settings.Setting_ID
适用于OracleDataAdapter.Fill
SELECT * FROM (Operation_Settings NATURAL JOIN Settings)
不适用于OracleDataAdapter.Fill
SELECT * FROM Operation_Settings NATURAL JOIN Settings
异常消息:
Oracle.ManagedDataAccess.Client.OracleException:ORA-00942:table或 视图不存在
数据访问层功能执行数据库查找和提取
Public Function GetQueryResults(parameters As Dictionary(Of String, Object), query As String, connectionString As String) As DataTable
Using table As New DataTable
Using conn As New OracleConnection(connectionString)
Using cmd = CreateOracleCommand(query, parameters, conn)
Using adapter As New OracleDataAdapter(cmd)
adapter.Fill(table)
Return table
End Using ' adapter
End Using ' cmd
End Using ' conn
End Using ' table
End Function
我对任何想法持开放态度,并会上传您需要的任何其他信息。