SQL Server 2008にデータを挿入するためにJavaコードを使用しています。エラーが発生しています。一括挿入 - ''近くの構文が正しくありません。 SQL Server 2008で
Statement st = null;
Connection con = null;
String loadQuery = "";
Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);
con = DriverManager.getConnection(jdbc:sqlserver://11.11.112.123:1433;DatabaseName=test123, test, test);
st = con.createStatement();
loadQuery = "BULK INSERT testres FROM 'D:\RTTM\NTB\Data\GDW\Files\ACCif.csv' WITH (FIRSTROW=2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')";
System.out.println(loadQuery);
st.executeUpdate(loadQuery);
クエリ
BULK INSERT testres FROM 'D:\RTTM\NTB\Data\GDW\Files\ACCif.csv' WITH (FIRSTROW=2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
エラー
Incorrect syntax near ' '.
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near ' '.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:775)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:676)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4874)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeUpdate(SQLServerStatement.java:633)
at QueryCreation_sqlserver.readCsvUsingLoad(QueryCreation_sqlserver.java:225)
at QueryCreation_sqlserver.readCsvcoloumnname(QueryCreation_sqlserver.java:268)
at QueryCreation_sqlserver.main(QueryCreation_sqlserver.java:39)
Incorrect syntax near ' '.
データベースの詳細
Driver name: Microsoft SQL Server JDBC Driver 3.0
Driver version: 3.0.1119.0
Product name: Microsoft SQL Server
Product version: 10.50.1600
JDBCのjar詳細
sqljdbc4-3.0.jar
を見ている必要があり
二行ではなく、「\ nの」としてそれを送るあなたの本来の目的は、このクエリの作業を行いますが、SQL Studioの管理StudioなどのSQL Serverクライアントを使用して、それを実行するとき。私は、クエリの構文に問題があり、Javaコードやドライバには何もないと思います。 – vvs
SQL Studio Managementで同じクエリが動作する – Jay
その場合、Javaコードがクエリを正しく作成していない可能性があります。 javaでexecuteメソッドを呼び出す直前にクエリを印刷しようとしましたか? – vvs