on 2011 Oct 06 10:47 PM
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\ ') 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';
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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".
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
75 | |
10 | |
10 | |
10 | |
10 | |
9 | |
8 | |
7 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.