【问题标题】:MS Access Appln connecting to SQL Server2005 DSN-lessMS Access Apple 连接到 SQL Server 2005 DSN-less
【发布时间】:2012-12-21 04:52:13
【问题描述】:

我是一个新手,试图将 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"

我得到了错误-

找不到数据源名称和找不到设备驱动程序

我尝试通过 VB 通过 DSN-less 连接与 SQL 服务器建立连接,但我失败了。我尝试的代码是:-

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

我得到的错误信息是:

预计行尾

请给我一些解决这个问题的方法。

【问题讨论】:

标签: sql-server vba connection-string


【解决方案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,尤其是在与其他版本的 SQL Server 在同一台机器上同时运行时。您最终不得不将端口号添加到连接字符串中。
- 它不支持较新的服务器版本所具有的较新的 SQL 语言功能。
4) 有较新的提供程序(2005 年为“Native Client”,2008 年为“Native Client 10”等),但您应该检查它们是否已分发到您的所有 PC。

这是一个包含 Native Client (9 / 2005) 连接字符串的页面:
http://www.connectionstrings.com/sql-server-2005#sql-server-native-client-9-0-oledb-provider

【讨论】:

  • 嘿,我尝试了你提供的代码,但我得到一个编译错误:“预期:语句结束”。代码为:- GetConnectionString =Provider=SQLOLEDB.1;Data Source=myserverdev;User ID=msaccess_cbd;Password=pwd;Initial Catalog=project_DBSQL
  • 这是一个连接。在您的最后评论中,我没有看到任何关于它的引用。最简单的:Set cnn = CreateObject("ADODB.Connection") {newline} cnn.Open "Provider=SQLOLEDB.1;Data Source=myserverdev;User ID=msaccess_cbd;Password=Paci0113;Initial Catalog=project_DBSQL"
  • 知道了。现在它工作正常,我可以连接到服务器。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
相关资源
最近更新 更多