@@ -20,6 +20,7 @@ public class OracleManagedDataClientDriver : ReflectionBasedDriver, IEmbeddedBat
20
20
private readonly PropertyInfo oracleCommandBindByName ;
21
21
private readonly PropertyInfo oracleDbType ;
22
22
private readonly object oracleDbTypeRefCursor ;
23
+ private readonly object oracleDbTypeXmlType ;
23
24
24
25
/// <summary>
25
26
/// Initializes a new instance of <see cref="OracleDataClientDriver"/>.
@@ -42,6 +43,7 @@ public OracleManagedDataClientDriver()
42
43
43
44
var oracleDbTypeEnum = ReflectHelper . TypeFromAssembly ( "Oracle.ManagedDataAccess.Client.OracleDbType" , driverAssemblyName , false ) ;
44
45
oracleDbTypeRefCursor = Enum . Parse ( oracleDbTypeEnum , "RefCursor" ) ;
46
+ oracleDbTypeXmlType = Enum . Parse ( oracleDbTypeEnum , "XmlType" ) ;
45
47
}
46
48
47
49
/// <summary></summary>
@@ -78,12 +80,21 @@ protected override void InitializeParameter(IDbDataParameter dbParam, string nam
78
80
case DbType . Guid :
79
81
base . InitializeParameter ( dbParam , name , GuidSqlType ) ;
80
82
break ;
83
+ case DbType . Xml :
84
+ this . InitializeParameter ( dbParam , name , oracleDbTypeXmlType ) ;
85
+ break ;
81
86
default :
82
87
base . InitializeParameter ( dbParam , name , sqlType ) ;
83
88
break ;
84
89
}
85
90
}
86
91
92
+ private void InitializeParameter ( IDbDataParameter dbParam , string name , object sqlType )
93
+ {
94
+ dbParam . ParameterName = FormatNameForParameter ( name ) ;
95
+ oracleDbType . SetValue ( dbParam , sqlType , null ) ;
96
+ }
97
+
87
98
protected override void OnBeforePrepare ( IDbCommand command )
88
99
{
89
100
base . OnBeforePrepare ( command ) ;
0 commit comments