我无法让某些包含自然连接的 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: 表或视图不存在
执行数据库查找和获取的数据访问层函数
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
我对任何想法持开放态度,并将上传您需要的任何其他信息。