「SQL Server」の「テーブル書き込み処理」で「文字列またはバッファーの長さが無効です。」

Avatar
たかちゃん
お世話になります。

 標記のとおり、「SQL Server」の「テーブル書き込み処理」で「文字列またはバッファーの長さが無効です。」というメッセージが表示されて異常終了します。メッセージの全文は次のとおりです。


リソースコンポーネントをプール[SQL Server 2008 ODBC接続設定])からロードしています。

メッセージコード = SQLSERVER0001E
[野菜マスタ出力(データベース/SQL Server/テーブル書き込み)]の処理に失敗しました。原因:[java.sql.SQLException: [Microsoft][ODBC Driver Manager] 文字列またはバッファーの長さが無効です。]


 「Windows Server 2008 R2 Standard Service Pack 1」、「SQL Server 2014」でODBCのシステムDSNを作成しています。ドライバーは「ODBC Driver 11 for SQL Server」です。

 先日まで正常に動いていたのに、きょう、動かなくなりました。何が原因で、どのように対策すればよいのでしょうか。よろしくご教示下さい。

この記事は役に立ちましたか?

0が役に立ったといっています

コメント

  • Avatar
    たかちゃん
    コメントアクション Permalink
    今、改めて実行したら直っていました。何が理由で直ったのか、まったくわかりません。
    0
  • Avatar
    たかちゃん
    コメントアクション Permalink
    また、再現しました。
    0
  • Avatar
    kirschbaum
    コメントアクション Permalink
    エラーメッセージをググると、64bit環境でODBC接続してると発生するみたいです。https://www.google.co.jp/search?q=文字列またはバッファーの長さが無効です



    対応策としては、JDBC接続に変える、というものが多そうです。


    http://kumasoft.blogspot.jp/2011/01/java-jdbc-odbc.html

    → JDBC接続に変えてました


    http://www.mathworks.com/matlabcentral/answers/102503-odbc

    → JDBC接続推奨と記載されています


    ODBC接続する必要が無ければJDBC接続にしてみては?
    0
  • Avatar
    たかちゃん
    コメントアクション Permalink
    ご教示、ありがとうございました。JDBC接続の設定方法は、ヘルプを見てもよくわかりません。わかりやすい資料は、あるのでしょうか。
    0
  • Avatar
    sky
    コメントアクション Permalink
    こんにちは。

    JDBCアダプタのグローバルリソースの「ドライバクラス名」と「URL」の設定方法でしょうか?


    そういえば最近のヘルプは具体例が書いていないですね。


    以前は書いてあったのに、と思って調べてみたらありました。


    http://dataspider.appresso.com/documents/dss24/help/



    ↑のURLは2.4のヘルプですけど、ツリーの「アダプタ」→「データベース」→「JDBC」→「グローバルリソースのプロパティ」→「JDBCアダプタ」に具体例が書いてあります。


    ここに記載していないデータベースの情報は、ネットで調べるか、ヘルプに書いてある通りデータベースベンダーに確認するのが良いでしょうね。
    0

ログインしてコメントを残してください。