0

Visual Studio 2012 を使用して、次のプログラミング ラインで Access 2013 データベースに接続する Web アプリケーションを作成しています。

string connectionString = "provider=Microsoft.ACE.OLEDB.12.0;" + "data source=" + Page.Server.MapPath("App_Data\\db1.accdb");

しかし、エラーのために起動できませんでした

Microsoft.ACE.OLEDB.12.0 がローカル コンピューターに見つかりません

Microsoft Access 2013 の正しい接続文字列は何ですか?

4

4 に答える 4

4

Web サーバーとして機能するマシンには、「Microsoft Access データベース エンジン 2010」がインストールされている必要があります。そのマシンに Access がインストールされていない場合は、エンジンのインストーラーをここからダウンロードできます。

64 ビット インストーラーには 64 ビット バージョンのみが含まれていることに注意してください。32 ビット バージョンは含まれません (同じページで個別に入手できます)。

編集...

接続文字列については、Access_2013 マシンで次の VBScript をテストしたところ、問題なく動作しました。

Option Explicit
Dim con, rst
Set con = CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Gord\Desktop\Database1.accdb;Persist Security Info=False;"
Set rst = CreateObject("ADODB.Recordset")
rst.Open "SELECT Col1 FROM Table1", con
Wscript.Echo rst(0).Value
rst.Close
Set rst = Nothing
con.Close
Set con = nothing

connectionstrings.com から接続文字列をコピーしました。

編集...

Web サーバーにアクセスできる場合は、次の 2 つのファイルの存在を確認できます。

C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL

C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL

64 ビット コンピューターでは、最初のファイルは、Access データベース エンジンの 64 ビット バージョンがインストールされていることを示します。32 ビット マシンでは、32 ビット バージョンがインストールされていることを示します。

2 番目の (x86) ファイルが存在する場合、Access データベース エンジンの 32 ビット バージョンが 64 ビット コンピューターに存在することがわかります。

再編集: 最終コメント

この問題は、実際には Access データベース エンジンの「ビット数」に関連していました。

「Microsoft Access Database Engine 2010」64ビットをインストールします私のビジュアルスタジオは32ビットであるため、32ビットをインストールする必要がありますアドバイスをありがとう

于 2013-03-26T11:25:04.093 に答える
0

インストールしたオフィスによって異なります.x64ビットのオフィスがある場合は、アプリケーションをx64としてコンパイルして実行できるようにする必要があります.x36で実行したい場合は、オフィスx86をインストールして受け入れる必要があります.上記のすべてのソリューションですが、Office x64bit があることに気付くまで機能しませんでした。そのため、アプリケーションを x64 としてビルドして機能させました。

また、任意のCPUに配置しても、32ビットを優先するように設定していない場合でも機能することに気付きました

于 2015-04-12T18:17:36.003 に答える
0

プロバイダーを 12.0 にすると、ACCESS 2013 で動作します

次の 2 つの要素をインストールするだけです。

1) Microsoft Access 2013 ランタイム: https://www.microsoft.com/en-us/download/details.aspx?id=39358

それから

2) マイクロソフト アクセス データベース エンジン 2007: https://www.microsoft.com/en-us/download/details.aspx?id=23734

PS: 32 ビットの場合は x86、64 ビットの場合は x64 です。

于 2016-11-09T15:20:56.567 に答える
-1

ここでこれを使う

プロバイダー=Microsoft.ACE.OLEDB.15.0

これは、ms access 2013 の接続文字列です。

于 2014-07-07T14:35:18.450 に答える