1

我无法让某些包含自然连接的 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

我对任何想法持开放态度,并将上传您需要的任何其他信息。

4

0 回答 0