Sql server 如果服务器需要特定的用户名和密码,是否在VBA中连接到SQL Server?
我今天意识到,当您在Excel的本机连接中连接到SQL Server数据源时,它不允许您输入特定的用户名和密码。它只要求提供服务器名和数据库 在VBA中,假设我想将SQL Server数据查询中的数据导入Sheet1,您能否帮助我了解如何编写该代码 在本练习中:Sql server 如果服务器需要特定的用户名和密码,是否在VBA中连接到SQL Server?,sql-server,excel,vba,Sql Server,Excel,Vba,我今天意识到,当您在Excel的本机连接中连接到SQL Server数据源时,它不允许您输入特定的用户名和密码。它只要求提供服务器名和数据库 在VBA中,假设我想将SQL Server数据查询中的数据导入Sheet1,您能否帮助我了解如何编写该代码 在本练习中: SQL Server Connection INFO Server Name: TestingS,1633 Database Name: CarSales username: car password
SQL Server Connection INFO
Server Name: TestingS,1633
Database Name: CarSales
username: car
password: sales
The query I want to run for simplicity sake can be: "select * from table"
我一直在做一些研究,但有点迷路了。我可以通过ODBC使用自定义SQL设置标准查询,但因为我需要VBA,这对我来说非常棘手。请帮助。这是MSSQL的一个示例
Sub testMSSQL()
'Reference Microsoft ActiveX data object Library 2.8 ~~
Dim cnn As ADODB.Connection
Dim strSQL As String
Dim Ws As Worksheet
Set Ws = ActiveSheet
strSQL = "select * from table"
Set cnn = New ADODB.Connection
'Set the provider property to the OLE DB Provider for ODBC.
'cnn.Provider = "MSDASQL"
'cnn.Provider = "Microsoft.ACE.OLEDB.12.0"
'cnn.Provider = "MSOLAP"
cnn.Provider = "SQLOLEDB.1" '<~~ mssql
' Open a connection using an ODBC DSN.
cnn.ConnectionString = "driver={SQL Server};" & _
"server=TestingS;uid=car;pwd=sales;database=CarSales"
Set rs = New ADODB.Recordset
rs.Open strSQL, cnn.ConnectionString, adOpenForwardOnly, adLockReadOnly, adCmdText
cnn.Open
If cnn.State = adStateOpen Then
Else
MsgBox "Not connected server"
Exit Sub
End If
If Not rs.EOF Then
With Ws
.Range("a1").CurrentRegion.ClearContents
For i = 0 To rs.Fields.Count - 1
.Cells(1, i + 1).Value = rs.Fields(i).Name
Next
.Range("a2").CopyFromRecordset rs
.Columns.AutoFit
End With
Else
MsgBox "No Data!!", vbCritical
End If
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End Sub
子测试MSSQL()
'参考Microsoft ActiveX数据对象库2.8~~
将cnn设置为ADODB.Connection
作为字符串的Dim strSQL
将Ws设置为工作表
设置Ws=ActiveSheet
strSQL=“从表中选择*
设置cnn=newadodb.Connection
'将提供程序属性设置为ODBC的OLE DB提供程序。
'cnn.Provider=“MSDASQL”
'cnn.Provider=“Microsoft.ACE.OLEDB.12.0”
'cnn.Provider=“MSOLAP”
cnn.Provider=“SQLOLEDB.1”在线提供了大量示例。如。