0

私は、MS Access Appln (現在は外部 Access データベースに接続されています) をリモート SQL Server 2005 に接続しようとしている初心者です。多数の聴衆に配布しやすくするために、DSN レスにしたいと考えています。

次の接続文字列を使用して、ローカル Access db に接続できました

DbFullName = CurrentProject.Path & "\" & "project_DB.accdb"
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DbFullName & ";Jet OLEDB:Database Password=pwd;"

SQL Server 2005接続の場合、次のコマンドを試したところ、

"Data Source=myserverdev;Initial Catalog=project_DBSQL;Persist Security Info=True;User ID=msaccess_cbd;Password=Paci0113"
providerName = "System.Data.SqlClient"

エラーが発生します-

datasourcename が見つからず、デバイス ドライバーも見つかりません

VBを介してDSNなしの接続を介してSQLサーバーに接続しようとしましたが、失敗しました.私が試したコードは次のとおりです:-

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\IP address\databasename;User ID=username;Password=pwd;

私が得たエラーメッセージは:

行末が予想される

これを解決する方法を教えてください。

4

1 に答える 1

1

System.Data.SqlClientは、ADO * .NET *プロバイダーのように見えます。VBAでコーディングする場合は、ADO/OLEDBプロバイダーを使用する必要があります。古いOLEDBプロバイダーの接続文字列は次のとおりです。

"Provider=SQLOLEDB.1;Data Source=myserverdev;User ID=msaccess_cbd;Password=Paci0113;Initial Catalog=project_DBSQL"

いくつかのポイント:
1)パスワードについて世界に知らせたので、そのパスワードを変更したほうがよいでしょう。
2)「Persist..」句を気にする必要はありません。
3)そのSQLOLEDBプロバイダーはしばらく前から存在しています。MDACと一緒に配布されており、多くのクライアントマシンで見つかる可能性がありますが、いくつかの制限が
あります。-特に同じマシンで他のバージョンのSQL Serverと並べて実行すると、新しいバージョンのSQLServerに接続できなくなります。 SQLサーバー。最終的に、接続文字列にポート番号を追加する必要があります。
-新しいサーバーバージョンにある新しいSQL言語機能はサポートされません。
4)新しいプロバイダー(2005年の「NativeClient」、2008年の「NativeClient 10」など)がありますが、それらがすべてのPCに配布されているかどうかを確認する必要があります。

ネイティブクライアント(9/2005)の接続文字列のページは次のとおりです。http:
//www.connectionstrings.com/sql-server-2005#sql-server-native-client-9-0-oledb-provider

于 2013-01-07T23:49:02.653 に答える