2つのデータベース接続を持つ非常に単純なGroovyスクリプトがあります。
- Oracleへの1つのデータベース接続
- SQLServerへの別のデータベース接続
問題
GGTSエディター(SpringSource Tool SuiteのGroovyおよびGrailsバージョン)を使用してプログラムを実行すると、2つのクエリが実行され、正常に結果が返されます。しかし、コマンドラインから、プロジェクトフォルダから次のようにプログラムを実行すると、次のようになります。
groovy -cp lib\jtds-1.3.0.jar lib\ojdbc6-11g.jar src\Starter.groovy
次のエラーが発生します。
C:\workspace-ggts\Test>groovy -cp lib\jtds-1.3.0.jar lib\ojdbc6-11g.jar src\Star
ter.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\workspace-ggts\Test\lib\ojdbc6-11g.jar: 1: unexpected char: 0x3 @ line 1, col
umn 3.
PK♥ ßî∟9 ♦ META-INF/■╩ ♥ ☻ PK♥♦ ßî∟9 ¶ M
ETA-INF/MANIFEST.MF?æ┴N├0►D∩æ≥☼½₧α►7)R[rúΘÑá☻R½^æq6─òcç╡SΦ▀π4◄ → ─╒3;π}╗µ
Z▬h]┤C▓╥Φ¶↕▬ç┴¬¬§V¿↔w■╤ï:7ö┬♥qí►2C╡íôtf▌Jº0♣│╧ƒ┼öφ9
^
1 error
私が試したこと
ここで別の方法で報告された同じ問題に基づいて、問題はMicrosoftサイトのsqljdbc4.jarであると考えたため、jtdsドライバーを使用してSQLServerに接続しようとしました。
クラスパスの依存関係を区切るためにセミコロンを付けようとしましたが、それでも同じエラーが発生します。
Javaバージョンを1.7にアップグレードしました。Groovyのバージョンは2.0.5です
IDEからは正常に実行されますが、コマンドラインからはエラーが発生します。
dbアクセスコード(接続、クエリ、結果セットのprintln)の1つをコメントアウトすると、groovyスクリプトにdb接続が1つだけ残り、プログラムはコマンドラインから正常に実行されます。例えば:
これ
groovy -cp lib\jtds-1.3.0.jar src\Starter.groovy
またはこれ:
groovy -cp lib\ojdbc6-11g.jar src\Starter.groovy
動作します。2番目のdbアクセスのクラスパスにコードとjarを追加するとすぐに、上記のエラーが報告されます。
私は考えやアイデアが不足しています