I am trying to run SQL like the following from a java app. result = stmt.executeQuery( "CREATE TABLE #test(ID unsigned int);LOAD INTO #test (ID '\x09\x0a') from '/path/to/file.bcp' " ); I know the query works. I ran it in isql without and issue. I am using the iAnywhere JDBC driver that came with SQL Anywhere 11 (jodbc.jar). In my java project I am using jodbc.jar from SQL Anywhere 11. My connection string is pretty simple. "jdbc:ianywhere:DSN=dw". I can get a connection, but I now get the following error: [Sybase][ODBC Driver][Sybase IQ]Syntax error near 'LOAD'. Previously I tried using jconnect and got the same error. Any Ideas? |
IMHO, your LOAD TABLE statement simply misses the word TABLE - it's the word INTO that is optional: CREATE TABLE #test(ID unsigned int); LOAD INTO TABLE #test (ID) from '/path/to/file.bcp'; Volker, that was the issue. Thanks! I really appreciate the help. This has been holding me back for a day and a half now. It's strange to me that LOAD INTO worked when using isql. Thanks again.
(07 Oct '11, 07:50)
Jon
Replies hidden
1
I'm glad to hear that. What exactly "isql" tool are you using - DBISQL or dbisqlc? (Or a IQ-specific tool?) In my tests, both DBISQL and dbisqlc (v11.0.1.2527) raise the expected syntax error (SQLCODE -131) when LOAD TABLE is used without "TABLE".
(07 Oct '11, 08:29)
Volker Barth
Interactive SQL Java version 9.0.1, build 2097. It is a Java GUI that came as part of Adaptive Server IQ 12.6.
(07 Oct '11, 09:42)
Jon
|
In addition to what Volker said, this forum is about SQL Anywhere, not IQ. IQ's syntax for the LOAD TABLE statement differs from SQL Anywhere's; here's the IQ syntax: http://manuals.sybase.com/onlinebooks/group-iq/iqg1250e/iqref/@Generic__BookTextView/55329;pt=61646 Having said that, Volker's answer is probably the right one. Breck, Thank you for the link. Reviewing now.
(07 Oct '11, 07:51)
Jon
|