이 구문을 사용하면 Excel 2013에서 SQL Server 2008 저장 프로 시저를 실행할 수 있습니다. 모든 PC는 한대로 실행되지만 두 번째 PC에서 실행하려고하면 오류가 발생합니다. VBA에서 SQL 쿼리 실행
OLEDB 연결 오류
해서는 안 내가 어떤 PC에 서버 이름, 사용자 이름 및 암호 w 구문 실행/OA 히치를 하드 코딩하고 이후?
Function RunSQLServerProc()
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
con.Open "Provider=SQLOLEDB;Data Source=Server;Initial Catalog=Database;User Id=userid;Password=password;Integrated Security=SSPI;Trusted_Connection=Yes;"
cmd.ActiveConnection = con
cmd.CommandText = "TestProc"
Set rs = cmd.Execute(, , adCmdStoredProc)
End Function
이것은 실제로 실행됩니까? 명령에 연결을 할당하는 위치가 표시되지 않습니다. 또한 'Integrated Security = SSPI'로 사용자 아이디와 패스워드를 제공하는 것은 모순됩니다. 확실히 그것이 전체 오류 메시지는 아닙니다. –
@PaulAbbott - 죄송합니다, 복사/붙여 넣기 오류. cmd.ActiveConnection = con ....에 추가했습니다. 통합 문서를 여는 모든 사용자에게 SQL Server에 대한 연결을 실행할 수 있어야합니다. 컴퓨터에 관계없이 열립니다. –
그래서 SQL 사용자 이름과 암호 또는 현재 Windows 로그인으로 인증을 시도합니까? –