1

私は知っている、トピックはひどいように聞こえます。しかし、私は実際にこれらのテクノロジーを接続する必要があります。

問題

現在、会社のイントラネット(主にクラシックASPで記述)を、IIS6を搭載したWindowsServer200332ビットからIIS7.5を搭載したWindowsServer2008R264ビットに移行しています。set conn = server.createobject("adodb.connection")に接続するために使用する1つのサブページを除いて、すべてが完全に正常に機能しconnstring="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=path\to\mdb\which\is\really\there"ます。

接続()を開きconn.open connstring、クエリ文字列を作成してから、必要なときにset rsresult = conn.execute(sqlusr)取得します

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC Microsoft Access Driver] ODBC--connection to 'TABLE_THAT_ACTUALLY_EXISTS' failed.

そのエラーは、。の行でスローされconn.execute(sqlusr)ます。もちろん、以前の環境では正常に機能しました。

私は何を試しましたか?

  • WindowsServer2008でMSAccessaccdbファイルに接続する-WindowsServer2008にはMSJetがプリインストールされていることを知りました。そのため、この質問は役に立ちません(注意:mdbはAccess 97用です)
  • http://support.microsoft.com/kb/168336-これは実際には接続が行われる方法ですが、sthが間違っている、スペルが間違っている、...
  • 以前のサーバーから新しいサーバーにODBCデータソースをコピーしました(名前は保持しました)-問題はまだ存在します
  • WindowsServer2008マシンに最新の更新プログラムをインストールしました

追加情報

  • mdbAccess 97でのみ開きます(なぜですか?私に聞かないでください:/ Access 2000/2003/2007/2010でそれを開こうとしたのは私だけではありませんでした-どこにも機能しませんでした)
  • IIS 7.5のこのWebページのアプリケーションプールでは、Enable 32-bit Applicationsオプションがtrueに設定されています。親パスも有効になります。

この問題を確認/実行/修正する方法に関する追加のヒントをいただければ幸いです。

4

2 に答える 2

1

OK、これは興味深い質問です。

まず、ClassicASPを使用して文書化された問題が存在します-IIS7.x- ADODB.JET.4.0 問題を解決するためのガイドを見ることができます

IIS上のMicrosoftAccessデータベースでクラシックASPを使用する

2番目-JETドライバーを使用せず、代わりにADODB.ACE.12.0ドライバーを使用することを強くお勧めします。ただし、JETドライバーで取得できるのと同じ機能を利用でき、新しいAccessファイルの利点も利用できます。フォーマットを読み取ることができ、ドライバーを純粋な64ビット環境で実装できます

ACEDBドライバーのダウンロード(Microsoft)

このドライバーを使用すると、Enable 32-bit Applicationsfalseに設定できます

于 2012-09-19T17:25:49.683 に答える
-1

OK、問題を解決しました。Access97からAccess2010にデータとフォームを非常に簡単にインポートできました。次に、aspとそのmdbへの接続でいくつかの問題が発生しました。そこで、データベースに直接接続しました。私はまだSQLステートメントを修正する必要がありますが、主な問題は解決されています。

ありがとう!

于 2012-09-20T14:30:57.640 に答える