XmlCommandType Property missing from Oracle.ManagedDataAcces



编写Powershell脚本时,我加载了 ODP.NET DLL文件,并尝试在Oracle.ManagedDataAccess.Client.OracleCommand类上设置XmlCommandType属性,但它指出找不到该属性。有什么想法吗?

#Load the Oracle DLL File
[System.Reflection.Assembly]::LoadFrom("C:Oracle.ManagedDataAccess.dll")
#After the Oracle Class has been loaded, Create the Oracle Connection
$oraConn = new-object Oracle.ManagedDataAccess.Client.OracleConnection("DATA SOURCE=192.168.1.1/DB;PASSWORD=pass;USER ID=user")
#Create and Configure Oracle Command
$oraComm = new-object Oracle.ManagedDataAccess.Client.OracleCommand("select * from USER.TABLE")
$oraComm.Connection = $oraConn
$oracomm.XmlCommandType = "Query"
#Open the Connection to Oracle and Execute the SQL
$oraConn.Open()
$oracleStream = $oraComm.ExecuteStream()

所以,这就是发生的事情。 Oracle 数据提供程序 DLL Oracle.ManagedDataAccess.dll实际上并未从该文件加载,因为此文件已在 GAC 中具有相同的版本号。解决方法是手动将"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Oracle.ManagedDataAccess\v4.0_4.121.2.0__89b483f429c47342\Oracle.ManagedDataAccess.dll"替换为更新的Oracle.ManagedDataAccess.dll文件。然后,将其他 XmlCommandType 属性添加到 OracleCommand 类。

最新更新