0

次のデータソースを使用して MS SQL サーバーに接続しています

  <bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close" >
    <property name="driverClass" value="net.sourceforge.jtds.jdbc.Driver" />
    <property name="jdbcUrl" value="jdbc:jtds:sqlserver://<server>:<port>" />
    <property name="user" value="${echo_db_user}" />
    <property name="password" value="${echo_db_password}" />
  </bean>

      <bean id="myProviderDAO" class="com.care.dao.impl.DataProviderImpl">
    <property name="dataSource" ref="myDataSource" />
  </bean>


public class DataProviderImpl extends JdbcDaoSupport{
public Object runQuery(String staticQuery) {
    try {
        return getJdbcTemplate().queryForList(staticQuery);
         } catch (Exception e) {
                e.printStackTrace();
             }
        return null;
    }
}

staticQuery は次のとおりです。

  Select
    sender,
        status_dt
    FROM
        ServiceTickets.dbo.trouble_ticket 
    WHERE
        status_dt BETWEEN '02-17-2010 07:00:00'  AND '04-30-2014 05:00:00'

このクエリを実行すると、次の例外が発生します。

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [

    Select
    sender,
        status_dt
    FROM
        ServiceTickets.dbo.trouble_ticket 
    WHERE
        status_dt BETWEEN '02-17-2010 07:00:00'  AND '04-30-2014 05:00:00'


                ]; nested exception is java.sql.SQLException: ORA-00933: SQL command not properly ended

        at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:98)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
  1. コードをデバッグしたときに接続が発生し、接続が取得された場所に渡されました。
  2. 同じクエリを Toad (クライアントから ms SQL サーバー) で実行すると、正しく実行されます。
  3. 同じ一連の手順を使用して Qracle DB に接続し、そのクエリを実行しましたが、この問題に直面している MS SQL サーバーの場合にのみ正常に動作します。
4

0 に答える 0