2

我必须使用 VBA 将 Word 文档连接到 SQL Server 才能读取和写入记录。现在,我对连接数据库的许多不同方式感到非常困惑。有 ADO、ODBC 等。我见过非常不同的连接 SQL Server 数据库的方法。一位同事希望我使用 ODBC。

那么:在 Office VBA 中使用 ODBC 连接到 SQL Server 数据库的最佳方法是什么?

SELECT 和 INSERT 语句的示例也将不胜感激。

编辑:VB .Net/C# 中没有“System.Data.SqlClient.SqlConnection”和“System.Data.SqlClient.SqlCommand”之类的东西吗?

4

2 回答 2

5

此示例使用 ODBC:

'Microsoft ActiveX Data Objects x.x library
Dim cn As New ADODB.connection
Dim rs As New ADODB.recordset

    cn.Open "DRIVER={SQL Server};SERVER=srv;" & _
       "trusted_connection=yes;DATABASE=test"

    rs.Open "SELECT * FROM table_1", cn

此示例使用 OleDb

'Microsoft ActiveX Data Objects x.x library
Dim cn As New ADODB.connection
Dim rs As New ADODB.recordset

    cn.Open "Provider=sqloledb;Data Source=srv;" & _
      "Initial Catalog=Test;Integrated Security=SSPI;"

    rs.Open "SELECT * FROM table_1", cn

另见: http: //www.connectionstrings.com/sql-server-2008

于 2012-09-26T14:40:28.133 回答
0

您的同事可能希望您使用 ODBC 的原因是您的公司为每个工作站提供标准化的 ODBC 连接。

这里的好处是您不必担心除了登录名/密码之外的连接属性,因为它已经设置好了。想象一下 ODBC 在软件(字)和服务器之间起作用,当涉及到公司的变化时,它使事情变得容易得多。(服务器地址可能会改变,IT 能够在最终用户不知道的情况下更改 ODBC 的设置)

Beste 将与您的同事交谈并询问他的担忧。另一个原因可能是 ODBC 可能比 ado 更快。我也有过这样的经历。

于 2012-09-26T13:54:06.470 回答