【发布时间】:2014-03-20 16:15:16
【问题描述】:
我正在尝试从 Microsoft excel 应用程序运行查询,但未能成功连接。 我的本地机器上有 PostgreSQL 9.3,并且正在运行 64 位 Windows 7。我有一个示例数据库名称 dvdrental,它是一个演示数据库。 我只需要连接到数据库,运行查询,然后在我的工作表(或即时窗口,其中一个解决连接问题)中查看输出。 这是我到目前为止没有工作的内容。
Option Explicit
Public objConnection As ADODB.Connection
Public strConnection As String
Public Sub TestPostgresConnection()
Dim strConnection As String
strConnection = "Driver={PostgreSQL Unicode};Server=localhost;Port=5432; Database=dvdrental;UID=sa;PWD=wrox;"
Set objConnection = New ADODB.Connection
Set objRecordSet = New ADODB.Recordset
objConnection.Open strConnection
With objRecordSet
.ActiveConnection = objConnection
.Open "SELECT * FROM actor"
End With
Do While Not objRecordSet.EOF
Debug.Print objRecordSet.Fields(0).Value
objRecordSet.MoveNext
Loop
objRecordSet.Close
objConnection.Close
Set objRecordSet = Nothing
Set objConnection = Nothing
End Sub
这是我的参考列表;
Visual Basic 应用程序 Microsoft Excel 14.0 对象库 OLE 自动化 Microsoft Office 14.0 对象库 Microsoft Forms 2.0 对象库 Microsoft Access 14.0 对象库 微软 ADO 分机。 6.0 用于 DOL 和安全 Microsoft ActiveX 数据对象 2.8 库 Microsoft Windows Common Confrols 6.0 (SP6)
当我执行这个测试方法TestPostgresConnection,我得到“[Miscrosoft][ODBC Driver Manager] Data source name not found and no default driver specified”
我的 postgres 设置是标准的,我只是按照他们网站上的说明创建本地 RDBMS 进行测试。
谁能告诉我为什么我无法连接和运行查询? 到目前为止,这些解决方案都没有奏效。谢谢。
【问题讨论】:
-
您是否能够使用标准 Postgres 工具连接到数据库?要进一步排除故障,请创建一个扩展名为 .UDL 的空白文本文件并双击它,填写 postgres 的详细信息 - 是否有效?
-
我发现了这个问题,并且已经解决了这个问题。从 PostgreSQL 网站下载 Postgres ANSI 驱动程序后,该问题得到解决。在查看了此处codeproject.com/Articles/586361/… 的 SQLLite 连接要求后,我注意到了这一点。谢谢@ElectricLlama
标签: sql postgresql excel vba