2012-03-07 50 views
1

私は古典的なASPを初めて使用しています。私はむしろ私の問題を解決するために研究の時間よりもむしろ質問をしたいと思う。ADODBオブジェクトを使用して従来のASPのAccessデータベースに接続する

私はアクセスデータベースにアクセスしており、次のエラーが発生しています。

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified  
/default1.asp, line 30 

犯人ラインは、私は、アクセスがインストールされているが、私が指定したフォルダに.mdbファイルをコピーしていない、それはそのように動作しますさて、この

Set MyConn = Server.CreateObject("ADODB.Connection") 
MdbFilePath = Server.MapPath("c:\database\MyDatabase.mdb") 
  1. のですか?私はSQL Serverに精通しており、SQL Serverからデータを取得するために実行する必要があります。

  2. これはADODBを使用していますが、DLLをファイルできません。誰かが私のためにDLLを指定することはできますか?私はそれを働かせるために何をしなければなりません。登録するだけでregsvr32 my.dllを使用できますか?

  3. 接続文字列が見つかりませんでした(通常、接続文字列を使用してSQL Serverに接続しています)。この場合、Accessデータベースに1つ必要ですか?

それは私のために数年をされているので、この答えは少し古くなってかもしれない

答えて

2

を助けてください。また、Access dbは.mdbで終わるので、2007年以前のデータベースであると仮定しています。

はい、ファイルが機能するはずです。アクセスを実行する必要はありません。単にファイルを読み取る必要があります。ただし、Accessデータベース(MDAC - http://www.microsoft.com/download/en/details.aspx?id=1953であっても、まだ使用されていない場合は100%ではありません)と通話するには、特定のコンポーネントがインストールされている必要があります。 MDACには、従来のASPがAccessファイルと通信するために使用するJETエンジンが含まれています。接続文字列については

、アクセス接続文字列のいくつかの例を提供し、このウェブサイト:http://connectionstrings.com/access

編集 - 追加念のために私が正しくコメントは以下のいないよ

詳細は、

Set MyConn = Server.CreateObject("ADODB.Connection") 
MdbFilePath = "c:\database\MyDatabase.mdb" ''# Server.MapPath is not needed, since we are providing the whole path already 
MyConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & MdbFilePath 

上記のコードを実行しても、エラーが表示されるのはなぜですか?また、実行している設定(IIS7、IIS6、32ビット、64ビット)は何ですか?

+0

[this msft link](http://support.microsoft.com/kb/306345)にもあります。レジストリへのアクセス許可を追加し、mdacがインストールされていることを確認しましたが、まだ動作しません。私は間違って何かをしている可能性があります –

+0

OKエラーが消える。 CreateObjectが失敗しました。 –

+0

CreateObjectが同じ行または別の場所で失敗しましたか?また、どのように接続を開いていますか? 'MyConn.Open" Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "&MdbFilePath' – Chris

関連する問題