perhaps you need to escape the backslashes in the filename column? The
backslash is the escape character, so that might be causing your problem. or
perhaps it's something to do with treating the version value as a string but
yearreleased and track as numbers?

also: as a matter of JDBC form, you should consider putting con.close() in
the finally part of the try/catch/finally bloc - that way your db resources
are freed no matter what happens in the try block.

Joe

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, May 16, 2001 11:50 AM
> To: JRun-Talk
> Subject: RE: Going crazy w/ something the should work, SQL + Java
> problem
> 
> 
> - don't use the JDBC-ODBC bridge, it is a piece of junk. It 
> could well be
> the source of your problem.
> - You can also use the bcp command to copy textfiles into 
> tables, or SQL
> Server 7 comes with a nice set of graphical tools to mostly 
> do it for you.
> 
> -----Original Message-----
> From: Raymond Camden [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, May 16, 2001 2:42 PM
> To: JRun-Talk
> Subject: Going crazy w/ something the should work, SQL + Java problem
> 
> 
> I've been playing with Java and ODBC for a few days now and 
> I've run into a
> brickwall with something. I have an app that reads in a text 
> file, parses
> it, and creates a SQL statement out it. I've hard coded the 
> columns and I
> know the line format, so it's really just a "one time deal" 
> type script, but
> something is going wrong. For some reason this string is 
> giving me a SQL
> error.
> 
> java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL
> Server]Unclosed quotation mark before the character string 'eng'.
> insert into
> tblMp3s(Filename,Version,Title,Artist,Album,YearReleased,Comme
> nt,Track,Genre
> ) values('f:\music\sleeping_jesus.mp3','2','Sleeping 
> Jesus','Natasha''s
> ghost','Everything Under The Moon',1999,'eng
> http://mp3.com/NatashasGhost',0,'');
> 
> As far as I can tell this is valid SQL. I even cut and pasted 
> into CF and it
> worked fine. Any clues as to why this would work in CF but 
> fail in Java?
> 
> (Here is a snippet of the code running the statement: (statements is a
> Vector of insert statements)
> 
>               try {
>                       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
>                       Connection con =
> DriverManager.getConnection("jdbc:odbc:MP3Music;UID=sa;PWD=");
>                       Statement stmt = con.createStatement();
>                       for(int i = 0; i < statements.size(); i++) {
>                               String statement =
> (String)statements.get(i);
>                               try {
>                                       int x =
> stmt.executeUpdate(statement);
>                               } catch (Exception e) {
>                                       System.out.println(e);
>                                       System.out.println(statement);
>                               }
>                       }
>                       con.close();
>               } catch (Exception e) {
>                       System.out.println(e);
>                       System.out.println(temp);
>               }
> 
> 
> ==============================================================
> =========
> Raymond Camden, Principal Spectra Compliance Engineer for Macromedia
> 
> Email   : [EMAIL PROTECTED]
> ICQ UIN : 3679482
> 
> "My ally is the Force, and a powerful ally it is." - Yoda
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to