You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-user@db.apache.org by gg...@yahoo.com on 2007/03/27 03:13:04 UTC

No database model specified (was: Re: create DML for Oracle timestamp or date? (ie: with to_date))

...Sorry, slight red herring there, my mistake.  As I was trimming down my build file to a postable size, I discovered that in reality my ddlToDatabase was not working correctly (and I have default behaviour that uses hard-coded SQL as default values for unsupported databases -- eg, teradata -- but was getting used for my Oracle output here.)   Thanks for the info on to_date -- I'm thrilled to know that I don't actually need it.


My *real* problem is that my Ant task (ddlToDatabase) is not working; I get the following error, "No database model specified":


$ ant dist....
 BUILD FAILED 
 C:\mywk\sample-db\test-build.xml:154: The following error occurred while executing this line:
 C:\mywk\sample-db\test-build.xml:123: No database model specified


My task looks something like:
----------------
 
<target name="dml-xml2sql" depends="init" description="Given an XML file, write DB-specific SQL DML to a file.">
    <ddlToDatabase validatexml="false" usedelimitedsqlidentifiers="false" 
       catalogpattern="bookstore" schemapattern="bookstore"
       databasetype="oracle10">

      <fileset dir=".">
        <include name="c:/mywk/sample-db/src/schema/data-bookstore.xml"/>
      </fileset>

      <writeDataToFile failonerror="false" outputFile="build/schema/data-bookstore-oracle10.sql"/>

    </ddlToDatabase>
  </target>
-----end-----------



My data looks like,
----------------

<?xml version='1.0' encoding='UTF-8'?>
<data>
  <address id="29" street1="Dolores St and San Jose Ave" street2="Apt #4" city="San Francisco" state="CA" zip="94110" country="USA" phone="41535005555" /
  <publisher id="9" pub_name="McClanahan Inc." address_id="39" />
  <pubtitle id="1" pubtitle="Guide to Backpacking" genre="Guide" pub_id="1" price="32.12" sales="0.0" notes="All about backpacking." pubdate="1998-01-02 00:00:00.0" />
 ....
-------end--------



And my schema,
----------------
 <database name="bookstore">
    <table name="address">
    <column name="id" primaryKey="true" required="true" type="VARCHAR" size="10" autoIncrement="false"/>
       ...
      <column name="pubdate" primaryKey="false" required="true" type="TIMESTAMP" size="23,3" autoIncrement="false"/>
       ...
------end----------




I saw a posting in the archive with a similar problem... but didn't see a solution (other than to use the Java API).  I'm generating DDL & DML from XML, without actually connecting to databases.  (I'm coming back to DDL-Utils after about a year -- and I did update my libs to the latest version --  and kind of remember this error, but can't recall the resolution.)


Any help would be much appreciated --
   Thanks,
       -michael



----- Original Message ----
From: Thomas Dudziak <to...@gmail.com>
To: ddlutils-user@db.apache.org
Sent: Sunday, March 25, 2007 12:06:57 PM
Subject: Re: create DML for Oracle timestamp or date? (ie: with to_date)


>   I have XML data that I am trying to convert into SQL DML for Oracle (my XML to DDL works fine).  My XML data includes Timestamps (and/or Dates), and I believe that in order to insert this into Oracle, I am going to have to call the Oracle functions "to_timestamp" (or "to_date").  (If I am mistaken, please let me know.)
>
> My data looks like (summarized),
>   <pubtitle id="1" pubtitle="Some Title" price="32.12" pubdate="1998-01-02 00:00:00.0" />
>
> My schema looks like (summarized),
>     <table name="pubtitle">
>       <column name="id" primaryKey="true" required="true" type="VARCHAR" size="10" autoIncrement="false"/>
>       <column name="pubtitle" primaryKey="false" required="true" type="VARCHAR" size="80" autoIncrement="false"/>
>       <column name="price" primaryKey="false" required="false" type="DOUBLE" size="53" autoIncrement="false"/>
>       <column name="pubdate" primaryKey="false" required="true" type="TIMESTAMP" size="23,3" autoIncrement="false"/>
>     </table>
>
> (Note the timestamps.)
>
> And unfortunately, my SQL results in:
>   insert into pubtitle values( '1',  'Guide to Backpacking',  '32.12',  '1/2/1998' );
>
> But I think it needs to be something like this (either using to_date, or to_timestamp):
>   insert into pubtitle values( '1',  'Guide to Backpacking',  '32.12',  TO_DATE('1/2/1998', 'MM/DD/YYYY'));
>
>   Are there Ant tasks or properties (or even Java API) that can be used to create SQL suitable for insertion into Oracle, including dates / timestamps?  Note that I just want the SQL, I can't use Java to read/populate the database directly.

That is odd. DdlUtils should generate an ISO-formatted timestamp
literal for which no TO_DATE function call is necessary. Could you
post the build file or code snippet where you use DdlUtils ?

Tom





 
____________________________________________________________________________________
We won't tell. Get more on shows you hate to love 
(and love to hate): Yahoo! TV's Guilty Pleasures list.
http://tv.yahoo.com/collections/265 

Re: No database model specified (was: Re: create DML for Oracle timestamp or date? (ie: with to_date))

Posted by Thomas Dudziak <to...@gmail.com>.
On 3/26/07, ggsmnielsen@yahoo.com <gg...@yahoo.com> wrote:

> My *real* problem is that my Ant task (ddlToDatabase) is not working; I get the following error, "No database model specified":
>
> $ ant dist....
>  BUILD FAILED
>  C:\mywk\sample-db\test-build.xml:154: The following error occurred while executing this line:
>  C:\mywk\sample-db\test-build.xml:123: No database model specified
>
>
> My task looks something like:
> ----------------
>
> <target name="dml-xml2sql" depends="init" description="Given an XML file, write DB-specific SQL DML to a file.">
>     <ddlToDatabase validatexml="false" usedelimitedsqlidentifiers="false"
>        catalogpattern="bookstore" schemapattern="bookstore"
>        databasetype="oracle10">
>
>       <fileset dir=".">
>         <include name="c:/mywk/sample-db/src/schema/data-bookstore.xml"/>
>       </fileset>

<snip>

I think here lies the problem: the fileset might not actually select
anything. Try running ant with the -v or -debug flag to get more
output on what it does. You can also try changing the fileset to:

       <fileset dir="c:/mywk/sample-db/src/schema/">
         <include name="data-bookstore.xml"/>
       </fileset>

Tom