ここからT-SQLにプロシージャがあり、SMSSで実行すると完全に機能します。たとえば、動物のテーブルがあり、「猫」という単語が含まれているすべての列を検索する場合は、次のようにします。
EXEC SearchTable 'animals' 'cat'
私が言ったように、それは完璧に機能します。しかし、Javaから同じことを実行すると、次のようになります。
Statement statement = ProjectServer.dbConnection.createStatement();
String sql = "EXEC SearchTable '" + tblname + "' '" + searchTerm + "'";
System.out.println(sql);
ResultSet results = statement.executeQuery(sql);
tblname=animalsおよびsearchTerm=catの場合、次のように出力されます。
EXEC SearchTable 'animals' 'cat'
これはまさに私がSMSSで行っていることです。しかし、私はこの例外を受け取ります:
java.sql.SQLException: [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near 'cat'.
何が起こっているのかわかりません。NetBeans7.1.2およびSQLServer2008でJDK7を使用しています。