2013-01-07 3 views
0

MS Access Appln (현재 외부 Access 데이터베이스에 연결되어 있음)을 원격 SQL Server 2005에 연결하려고하는 초보자입니다. 많은 대상에게 배포하기 쉽도록 DSN이 없도록 만들고 싶습니다.MS Access Appln to SQL Server2005 DSN-less에 연결

내가 다음 명령을 시도 할 때 SQL Server 2005의 연결을위한 연결 문자열을

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

을 다음과 같이 로컬 액세스 DB에 연결할 수

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

나는 에러 -

datasourcename not found and device driver not found

DSN없는 연결을 통해 SQL 서버에 연결하려고 시도했습니다. 내가 가진

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

오류 메시지였다

end of line expected

나에게이 문제를 해결하기 위해 어떤 방법을 제안하십시오 -이 : VB하지만 난이 시도 코드는 실패했다.

+1

참조 http://stackoverflow.com/questions/14186675/connection-string-from-access-to-sql : 여기

은 네이티브 클라이언트 (2천5분의 9)에 대한 연결 문자열이있는 페이지입니다 -server and http://connectionstrings.com – Fionnuala

답변

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에 배포되었는지 확인해야합니다.
http://www.connectionstrings.com/sql-server-2005#sql-server-native-client-9-0-oledb-provider

+0

안녕하세요, 당신이 제공 한 코드를 시도했지만 컴파일 오류가 발생합니다 : "예상 됨 : 명령문의 끝". 코드는 다음과 같습니다. - GetConnectionString = 공급자 = SQLOLEDB.1; 사용자 ID = msaccess_cbd; 암호 = pwd; 초기 카탈로그 = project_DBSQL – user1955035

+0

연결입니다. 나는 당신의 마지막 코멘트에서 그 주위에 따옴표가 보이지 않습니다. 가장 단순한 경우 : cnn = CreateObject ("ADODB.Connection") {newline} cnn.Open "공급자 = SQLOLEDB.1; 데이터 원본 = myserverdev; 사용자 ID = msaccess_cbd; 암호 = Paci0113; 초기 카탈로그 = project_DBSQL" – Morbo

+0

알립니다. . 이제 제대로 작동하며 서버와 연결할 수 있습니다. 도움 주셔서 감사합니다. – user1955035