postgresql win7x64 odbc 问题。

讨论各种类UNIX,如 Linux distributions,OpenSolaris,Minix,GNU/kFreeBSD,GNU/Hard;广义的计算机与数码设备;Life,the Universe and Everything.

版主: wkx9dragon

回复
wkx9dragon
锌 Zn
帖子: 493
注册时间: 2010-02-02 18:00

postgresql win7x64 odbc 问题。

帖子 wkx9dragon » 2012-12-25 18:43

postgresql 在windows下用的人还是少呀,office vba编程更少了。以前xp下,postgresql x86 和office2003 加pgodbc,没问题呀,可是win7x64,office2007,postgresql x64,pgodbc x64,配置odbc源没事,可是office 2007 一连接就出现错误,配置的时候,测试都没有问题,弄了一早上,才搞定。
原来x86的office只能连接x86的pgodbc,就算postgresql 是64位的也不行。postgresql可以用x86的pgodbc哦。[对了32位的odbc和64位的postgresql配合时,注意odbc的配置不在控制面板里,而是\Windows\SysWOW64\odbcad32.exe]

例如vba 连接postgresql
...
Dim cnn As Object
Set cnn = CreateObject("ADODB.Connection")
'创建对数据库的连接
Dim database As String
Dim userName As String
Dim password As String
Dim DBName As String
Dim openCommand As String
database = "PostgreSQL35W"
userName = "operator"
password = "password"
DBName = "xxxxx"
openCommand = "DSN=" & database & ";" & "UID=" & userName & ";" & "PWD=" & password & ";" & "Database=" & DBName
cnn.Open openCommand

Dim rst As Object
Set rst = CreateObject("ADODB.recordset")
' rst.Open tableName, cnn, 3, 3
rst.Open "select * from " & tableName & " ;", cnn, 3, 3
(很奇怪,access 可以
rst.open tableName,cnn
postgresql 却不行,只能 rst.open "select * from " & tableName & ";" ,cnn
)
...
好多问题呀,vba连接access很方便的,postgresql却严格的多,好多程序通不过,比如 定义‘备注’列为text类型,如果插入数值类型,access后台自动转换为text类型,postgresql就通不过。

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客