Thanks.  I did notice the missing comma AFTER I sent my note.  After
playing around, I did find that COMMENT and Now() didn't seem to work as
you've now verified.  The database does indeed have a table named
'Database'.  I'll remove it and see if that fixes anything.

As you've mentioned it probably won't because the real database is like
the little schema example I presented.  There is one field in one table
that has a default of Now() and many fields have comments.

On Fri, 2007-02-02 at 15:24 -0600, Chris Hilton wrote:
> Your schema.txt has 1 error (there should be a comma after VARCHAR(255))
> and 3 phrases the MySQL parser doesn't currently support:
> 
> 1. mydb.table1- parser expects only the table name
> 2. COMMENT "ID"- parser doesn't handle field comments
> 3. DEFAULT NOW()- parser doesn't handle NOW() as a default value for a
> TIMESTAMP field
> 
> The DBI problem appears to be a MySQL issue. Judging from the error's
> location, you probably have a table named 'Database' and the DBI parser
> tries to send the command 'show create table Database' to the server. I
> tried this on my MySQL server and the server rejects it as invalid
> syntax, perhaps because Database is a reserved word or something? The
> only real way I see around this is to remove the Database table from
> your database.
> 
> Also, if the database you're connecting to has similar schema as your
> schema.txt example, using the DBI Parser isn't going to make much
> difference. All it does is dump the schema from the database to a
> variable and then uses the regular MySQL Parser to parse it, so you'll
> just end up with similar results.
> 
> Chris
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] 
> > [mailto:[EMAIL PROTECTED] On 
> > Behalf Of Adam Stein
> > Sent: Friday, 02 February, 2007 14:53
> > To: [email protected]
> > Subject: [sqlfairy-developers] Having problems running sqlt
> > 
> > Just installed SQL-Translator and can't get it to work.  I 
> > first tried a simple example from the docs:
> > 
> >     sqlt -f MySQL -t PostgreSQL ~/schema.txt
> > 
> > 'schema.txt' looks like this:
> > 
> > # Remove the database if it exists
> > DROP DATABASE IF EXISTS mydb;
> > 
> > # Create the database
> > CREATE DATABASE mydb;
> > 
> > # Create the Announcement table
> > CREATE TABLE mydb.table1 (
> >     ID
> >         BIGINT UNSIGNED
> >         NOT NULL
> >         AUTO_INCREMENT
> >         PRIMARY KEY
> >         COMMENT "ID",
> >     text
> >         VARCHAR(255)
> >     date
> >         TIMESTAMP
> >         DEFAULT NOW()
> > ) TYPE=innodb;
> > 
> > which I can feed into the MySQL command line program.  I get 
> > the following error:
> > 
> >        ERROR (line 8): Invalid statement: Was expecting 
> > comment, or use, or
> >                        set, or drop, or create, or alter, or 
> > insert, or
> >                        delimiter, or empty statement
> > Error: translate: Error with parser 'SQL::Translator::Parser::MySQL':
> > no results at /packages/bin/sqlt line 319.
> > 
> > I try connecting directly to my MySQL database figuring that 
> > if I don't have the correct format of schema file, sqlt 
> > should be able to get it from the database itself (which is 
> > really what I want).  That gives me the error:
> > 
> > "my" variable $v masks earlier declaration in same scope at 
> > /packages/lib/perl5/site_perl/5.8.5/SQL/Translator/Parser/DBI/DB2.pm
> > line 274.
> > DBD::mysql::st execute failed: You have an error in your SQL 
> > syntax; check the manual that corresponds to your MySQL 
> > server version for the right syntax to use near 'Database' at 
> > line 1 at 
> > /packages/lib/perl5/site_perl/5.8.5/SQL/Translator/Parser/DBI/
> > MySQL.pm line 60.
> > Error: translate: Error with parser 'SQL::Translator::Parser::DBI':
> > DBD::mysql::st execute failed: You have an error in your SQL 
> > syntax; check the manual that corresponds to your MySQL 
> > server version for the right syntax to use near 'Database' at 
> > line 1 at 
> > /packages/lib/perl5/site_perl/5.8.5/SQL/Translator/Parser/DBI/
> > MySQL.pm line 60.
> > 
> > I'm running Perl v5.8.5 with DBI-1.53 and DBD-mysql-4.001 
> > with a MySQL engine v5.0.27.  I've used DBI/DBD-mysql 
> > directly in my own Perl programs with no problem (fetching data only).
> > 
> > Anybody know what could be wrong?  Thanks in advance for any help.
> > -- 
> > Adam Stein @ Xerox Corporation       Email: [EMAIL PROTECTED]
> >                                             
> > Disclaimer: All views expressed             
> > here have been proved to be my own.  [http://www.csh.rit.edu/~adam/]
> > 
> > 
> > --------------------------------------------------------------
> > -----------
> > Using Tomcat but need to do more? Need to support web 
> > services, security?
> > Get stuff done quickly with pre-integrated technology to make 
> > your job easier.
> > Download IBM WebSphere Application Server v.1.0.1 based on 
> > Apache Geronimo
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&;
> > dat=121642
> > --
> > sqlfairy-developers mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/sqlfairy-developers
> > 
> 
-- 
Adam Stein @ Xerox Corporation       Email: [EMAIL PROTECTED]
                                            
Disclaimer: All views expressed             
here have been proved to be my own.  [http://www.csh.rit.edu/~adam/]


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
-- 
sqlfairy-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlfairy-developers

Reply via email to