2 Replies Latest reply on Sep 21, 2006 2:42 PM by Patrick1175

    Registering Schema in Oracle from ColdFusion

    Patrick1175
      I'm having a heck of a time trying to send the contents of an XSD file from Coldfusion through a Stored Procedure to Oracle and have it register successfully. I keep getting the error message "An error was encountered - -31020 -ERROR- ORA-31020: The operation is not allowed, Reason: invalid characters in path name ". I am using the CF XMLParse function to parse the XSD into a XML Document variable. After some processing, I pass the ToString() value of the XML variable to the procedure using cf_sql_clob as the sqltype. For some reason unforseen to me, there are some invalid characters within the passed value which causes the Oracle DBMS_XMLSCHEMA.registerSchema() function to fail. At first I thought there was a problem with the XSD contents but I was able to successfully register the same file strictly using a Oracle stored procedure without any interaction with CF. I've tried several different things such as changing the data type in both the CF call and the procedure parameters. I also tried to use cffile to read to contents and pass the value directly to the procedure without using any XML functions. Since I was able to register the XSD, I'm assuming it's not a problem with the contents of the file. Anyone have any ideas on why it's not working? Thanks in advance. Here's the code I'm using for both:
        • 1. Re: Registering Schema in Oracle from ColdFusion
          Patrick1175 Level 1
          Sorry for missing some info. I am using CF MX 7 and Oracle Database 10g Express Edition Release 10.2.0.1.0.

          Thanks
          • 2. Re: Registering Schema in Oracle from ColdFusion
            Patrick1175 Level 1
            I still haven't figured out the issue but I do have an update which may narrow the problem down. I added a dump of the contents of my XML doc within the CF code posted above. I copied the contents of the dump [ToString(xsdDoc)] from the page and pasted it into the attribute for the stored procedure when running it in Oracle (SQL Developer). If I do it this way the registerSchema function will work. So, it seems to me there is a problem with the data passed in the <cfprocparam cfsqltype="cf_sql_clob" type="in" value="#ToString(xsdDoc)#"> parameter. Am I using to correct sqltype? I tried changing the value but I still get the same Oracle error. Starting to get frustrated. Anyone have any insight?