了解VBA以连接到SQL

时间:2018-05-11 16:02:19

标签: sql vba excel-vba excel

我没有编程问题,我的程序与我拼凑的代码拼凑得很好,但我确实想问一下是否有人可以帮我理解一些代码。特别是,将VBA连接到SQL的部分。代码如下:

' Create a connection object.

Dim cnPubs As ADODB.Connection
Set cnPubs = New ADODB.Connection
Dim iCols As Integer

' Provide the connection string.

Dim strConn As String

'Use the SQL Server OLE DB Provider.

strConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;" & "Data Source=CIWSQLXD0026\DEV;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;" & "Workstation ID=AUSL0335;Initial Catalog=CSB_ACTL_AEData"

'Now open the connection.
cnPubs.Open strConn

cnPubs.CommandTimeout = 0

我最感兴趣的是理解以下部分中的属性:

'Use the SQL Server OLE DB Provider.

strConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;" & "Data Source=CIWSQLXD0026\DEV;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;" & "Workstation ID=AUSL0335;Initial Catalog=CSB_ACTL_AEData"

提前感谢您的帮助!对不起,代码的颜色很奇怪。长期用户,新手海报。

2 个答案:

答案 0 :(得分:1)

VBA是一种编程语言,编程语言使用库来执行您要求他们执行的任何操作。有一个库可以将文本复制到剪贴板,一个用于打开Internet窗口的库以及IE和程序之间的通信,因此还有一个库可以连接到数据库。 VBA上两个主要使用的是ADODB和DAO。在您的情况下,您正在使用ADODB。您感兴趣的行几乎是一组参数,这些参数被发送到SQL库以连接到数据库。可以将其视为网站URL。当我搜索" SQL"

时,这是google的网址
https://www.google.com/search?q=SQL&rlz=1C1GCEA_enUS794US794&oq=SQL&aqs=chrome.0.69i59l2j69i60j69i61.599j0j7&sourceid=chrome&ie=UTF-8

你可以看到它有很多参数,q = SQL是我搜索的,aqs = chrome是我正在使用的客户端chrome。还有更多告诉服务器该做什么以及如何搜索" SQL。

在SQL连接字符串上是相同的,它有参数告诉它连接的位置和方式。

strConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;" & "Data Source=CIWSQLXD0026\DEV;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;" & "Workstation ID=AUSL0335;Initial Catalog=CSB_ACTL_AEData"

Provider是连接类型,集成安全性是连接时使用的安全协议,Data Source是位置(如Web链接),等等。

答案 1 :(得分:0)

这是一个连接字符串,其中包含设置与数据库的连接所需的所有信息,包括数据源,应在配置中使用哪种类型的安全/设置