为什么OracleDataAdapter.Fill不能使用此自然连接SQL语句

时间:2015-11-13 16:35:09

标签: vb.net odp.net-managed

我无法获取包含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

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

0 个答案:

没有答案