Oracle.ManagedDataAccess.Client.OracleCommand 中缺少 XmlCommandType 属性

XmlCommandType Property missing from Oracle.ManagedDataAccess.Client.OracleCommand

在编写 Powershell 脚本时,我加载了 ODP.NET DLL 文件并尝试在 Oracle.ManagedDataAccess.Client.OracleCommand class 上设置 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 中使用相同的版本号。解决方法是用更新后的 Oracle.ManagedDataAccess.dll 文件手动替换 "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Oracle.ManagedDataAccess\v4.0_4.121.2.0__89b483f429c47342\Oracle.ManagedDataAccess.dll"。然后将额外的 XmlCommandType 属性 添加到 OracleCommand Class。