- - PR -
ACCESS97とACCESS2000ではJDBCドライバが違うの?
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-04-30 23:12
こんばんわ。nabeママです。
ACCESSを使ってDB検索等を行っているのですが、会社はACCESS97で家はACCESS2000です。 まったく同じ内容のDBを使って同じ処理を会社と家で行った場合、会社はDBにアクセスできるのですが、 家ではできません。JDBCドライバの設定が違うのでしょうか? ちなみに97は「sun.jdbc.odbc.JdbcOdbcDriver」をロードしています。 2000の場合のtry〜catchでException eをoutしたら「java.lang.IllegalStateException 」と表示されました。 WINDOWSのODBCデータソース設定は同じ設定にしてあります。 97と2000では違うらしい・・・という声を聞いたような??? よろしくお願いします。 | ||||||||
|
投稿日時: 2003-05-01 08:49
TYPE1ドライバは、 個々のDBが持っているものではないので、 Access2000でもAccess97でも違いはありません。 ”97と2000で違うらしい”というのはどっから沸いたデマですか? 上記の症状が本当にJDBCドライバのロード時に発生しているなら、 DBは無関係です。 //J2SDK1.4.1+Access2000でテストしました。 //JDBCドライバをロードするだけのサンプル class JDBCDriverLoad{ public static void main(String[] args){ try{ Class.forName(args[0]); System.out.println("JDBCドライバ取得成功"); }catch(ClassNotFoundException e){ e.printStackTrace(); } } } //実行結果 D:\java>java JDBCDriverLoad sun.jdbc.odbc.JdbcOdbcDriver JDBCドライバ取得成功 | ||||||||
|
投稿日時: 2003-05-01 13:03
IllegalStateException と出ているわけですから、
対象のDMLが97と2000の仕様の違いによって通らないだけだと思います。 つまりJavaの世界の話ではないということでしょう。 ExceptionのメッセージにSQLのエラーコードが出ていると思いますので、 Accessのヘルプかなにかを参照してください。 | ||||||||
|
投稿日時: 2003-05-02 11:06
こんにちはnabeママです。返信が遅くなってすみません。
takuさん、zaxx_MDさんありがとうございます。 そっかACCESS側の問題ですね。 ヘルプ等を参照して調べてみます。 97と2000では違うらしい・・・というのはVBでそんなことがあったよと聞いたので Javaもそうかなと思いました。 | ||||||||
|
投稿日時: 2003-05-02 12:53
ADOではありましたね。 | ||||||||
|
投稿日時: 2003-05-02 13:12
97までは Jet3.x でDAOは3.5 2000からはJet4.x でDAOは3.6 だったと思います。 #ADOは使ったことが無いのですみません... 2000で作成されたMDBは97で読めませんが 97のMDBは2000で読めたと思います。 #たぶんですが... マイクロソフトのHPにてJet4.0SP3が出ておりますので試されてはどうでしょうか。 http://www.microsoft.com/japan/msdn/data/default.asp http://www.microsoft.com/japan/msdn/data/download/mdac/26/jet4sp3.asp まとを外していたらすみません。 | ||||||||
1
