I am using Spring 1.3.2, ODP.NET, and VS2010. Can I use AdoTemplate to update an OracleXMLType column? A coworker has successfully updated a SQLServer XML column but when I try to use a similar method for the OracleXMLType I get an error that "Specified argument was out of the range of valid values."
Here is my code:
Code:XmlSerializer serializer = new XmlSerializer(typeof(myDataType)); StringWriter xmlWriter = new StringWriter(); serializer.Serialize(xmlWriter, myData); StringReader textIn = new StringReader(xmlWriter.GetStringBuilder().ToString()); XmlReader rdr = XmlReader.Create(textIn); xmlWriter.Close(); string sSQL = string.Format("insert into testtable (event, data, date) " + "values ('PUBLISHDATA', :myparam, SYSDATE)"); IDbParameters dbParams = myAdoTemplate.CreateDbParameters(); dbParams.AddParameter("myparam", DbType.Xml, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, rdr); myAdoTemplate.ExecuteNonQuery(CommandType.Text, sSQL, dbParams);
I am currently doing this using ODP.NET methods and the OracleXmlType datatype, and thought ADOTemplate would accept OracleDbTypes as well as DbTypes, but when I try to pass AdoTemplate a parameter of type OracleDbType.XMLType it doesn't like the datatype and I get "Invalid parameter type specified for parameter name..."
Thanks!


Reply With Quote
