2008年10月20日

ASPでODBC経由でのデータベース接続の注意

客先でAS400のデータをレガシーASPで利用する際、ODBC(iSeries Access for Windows ODBC)を利用したのだが、何故かエラーして繋がらなかった。
ACCESSを使ってテーブルのリンクをすると問題無く開くのに、ASPからだとエラーになってしまう。
その時のエラーが「[Microsoft][ODBC Driver Manager]データソース名および指定された既定のドライバが見つかりません」というものだった。
マイクロソフトのサポートページ http://support.microsoft.com/kb/306345/ja
をみてためしたがやはり駄目。
仕方なくその日は諦め、翌日同僚に状況を話したところ、システムDSNでないとASP側からは接続できないと指摘があった。なるほど、そうだ!ログインしたユーザーが操作するACCESSと違い、ASP経由では別のユーザーになっていることを忘れて、何も考えずユーザーDSNに登録していたのだ。
ということで、改めてシステムDSNに登録して無事解決した。

ASPでのODBC接続はシステムDSNを使わねばならない。


posted by なっちゃん at 10:25| 静岡 ☁| Comment(3) | TrackBack(0) | ASP.NET Tips | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
はじめまして、いきなりです見ませんが、
ASP.NET+AS400で教えて頂けませんか。
ODBCドライバは、CA5.1です。
クライアントPCで、VS2008のデバッグ実行時は正しくAS400へつながります。
しかし、本番環境(Win2003Svr+IIS6)では、動きません。
(症状としては、帰って来なくなる)
なっちゃん様は、どう対応されたのですか?
>ASP経由では別のユーザーになっていることを忘れて....
の部分が、判らなくて?
Posted by yac at 2010年07月28日 18:34
ユーザーDSNはそれを登録したユーザーしか使えないのです。だから本番環境で実際にアクセスするASPNETユーザーが使えるようにシステムDSN(どのユーザーでも使えます)で登録する必要があるわけです。
Posted by なっちゃん at 2010年07月28日 20:00
ご返事ありがとうございます。
私の場合、最初からシステムDSNでODBC作成しているので、別の原因ぽいです?
IISのフォルダに対するアクセス権限とかかな?
Posted by yac at 2010年07月28日 23:29
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。