2015-10-27 5 views
0

Я хочу изменить свои SQL-соединения, чтобы использовать проверку подлинности Windows вместо имени пользователя и пароля базы данных. Какие изменения мне нужно сделать в приведенном ниже коде?VBA Connection String - Аутентификация Windows

strSQL = "" 
strSQL = strSQL & "OLEDB;" & vbCrLf 
strSQL = strSQL & "Provider=SQLOLEDB.1;" & vbCrLf 
strSQL = strSQL & "Integrated Security=SSPI;" & vbCrLf 
strSQL = strSQL & "Initial Catalog=" & wshQuery.Range("B2").Value & ";" & vbCrLf 
strSQL = strSQL & "Data Source=" & wshQuery.Range("A2").Value & ";" & vbCrLf 
strSQL = strSQL & "Use Procedure for Prepare=1;" & vbCrLf 
strSQL = strSQL & "Auto Translate=True;" & vbCrLf 
strSQL = strSQL & "Packet Size=4096;" & vbCrLf 
strSQL = strSQL & "Workstation ID=W-TPL-3275;" & vbCrLf 
strSQL = strSQL & "Use Encryption for Data=False;" & vbCrLf 
strSQL = strSQL & "Tag with column collation when possible=False" 

strCon = strSQL 

Спасибо!

+0

Просто поместите свой титул в Google, и вы найдете множество ответов, один должен работать, как [это] (http://stackoverflow.com/questions/1573725/excel-vba-connect-to-sql-with-a-trusted-connection-no-uid-pwd) –

+0

Я посмотрел на это раньше, и он не " Кажется, я работаю для меня. – Becky

ответ

0

Посмотрите, работает ли этот код. Кроме того, каждый раз, когда вам нужно соединение, вы можете использовать this website

Option Explicit 

Sub test() 

    Dim strCon As String 

    strCon = vbNullString 
    strCon = strCon & "OLEDB;" 
    strCon = strCon & "Provider=SQLOLEDB.1;" 
    strCon = strCon & "Integrated Security=SSPI;" 
    strCon = strCon & "Initial Catalog=" & wshQuery.Range("B2").Value & ";" 
    strCon = strCon & "Data Source=" & wshQuery.Range("A2").Value & ";" 
    strCon = strCon & "Use Procedure for Prepare=1;" 
    strCon = strCon & "Auto Translate=True;" 
    strCon = strCon & "Packet Size=4096;" 
    strCon = strCon & "Workstation ID=W-TPL-3275;" 
    strCon = strCon & "Use Encryption for Data=False;" 
    strCon = strCon & "Tag with column collation when possible=False;" 

    'Added this two 
    strCon = strCon & "Uid=" & UserName & ";" 
    strCon = strCon & "Pwd=" & UserPassword & ";" 

End Sub 

Спасибо Я надеюсь, что это помогает :)

+0

Он по-прежнему приходит с коробкой с просьбой ввести имя пользователя и пароль :( – Becky