2017-08-04 2 views
0

Lors de l'écriture d'un script Powershell, j'ai chargé le fichier DLL ODP.NET et tenté de définir la propriété XmlCommandType sur la classe Oracle.ManagedDataAccess.Client.OracleCommand, mais il indique que la propriété n'est pas trouvée. Des idées?XmlCommandType Propriété manquante dans Oracle.ManagedDataAccess.Client.OracleCommand

#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()

+0

Des idées? Oui; Regardez la documentation pour les classes que vous souhaitez utiliser. Si vous n'avez pas de documentation, contactez la personne qui a écrit les cours. –

Répondre

0

Donc, voici ce qui est arrivé. la DLL du fournisseur de données Oracle, Oracle.ManagedDataAccess.dll ne s'est pas réellement chargée à partir du fichier car ce fichier était déjà dans le GAC sous le même numéro de version. Le correctif consistait à remplacer manuellement "C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ Oracle.ManagedDataAccess \ v4.0_4.121.2.0__89b483f429c47342 \ Oracle.ManagedDataAccess.dll" avec le fichier Oracle.ManagedDataAccess.dll mis à jour. Cela a ensuite ajouté la propriété XmlCommandType supplémentaire à la classe OracleCommand.