簡體   English   中英

MS Access Appln連接到SQL Server2005-DSN-less

[英]MS Access Appln connecting to SQL Server2005 DSN-less

我是一個新手,試圖將MS Access Appln(當前已連接到外部Access數據庫)連接到遠程SQL Server2005。為了使其更易於分發給廣大用戶,希望使其不使用DSN。

我可以使用以下連接字符串連接到本地Access數據庫

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的連接與SQL Server建立連接,但失敗了。我嘗試的代碼是:-

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

我收到的錯誤消息是:

預計行尾

請建議我一些解決方法。

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年為“本地客戶端”,2008年為“本地客戶端10”等),但您應檢查它們是否已分發到所有PC。

這是帶有Native Client(9/2005)連接字符串的頁面:
http://www.connectionstrings.com/sql-server-2005#sql-server-native-client-9-0-oledb-provider

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM