如下所示操作,亲已经过亲身测试,绝对可以使用,本人的环境:office 2016 windows 64位
1 下载安装postgresql的odbc驱动器
1.1 官网下载地址,选择相应的版本,进行下载,点击下一步进行安装
https://www.postgresql.org/ftp/odbc/
1.2 选择安装包的方式(msi,zip,ddl)
2 安装配置odbc
控制面板搜索数据源-单击添加
注:驱动名称 PostgreSQL Unicode
3 选择postgresql unicode
配置数据源等信息,测试驱动安装成功
4 在代码中配置【如果是代码中配置,第2和3步不是必须的】
string con = "Driver={PostgreSQLUnicode};Server=10.190.27.88;Port=8432;Database=mydb;UID=root;PWD=mypassword;";
OdbcConnection co = new OdbcConnection(con);
co.Open();
OdbcCommand cmd = new OdbcCommand("select * from test", co);
OdbcDataReader read = cmd.ExecuteReader();
while (read.Read())
{
string s1 = read.GetString(0);
string s2 = read.GetString(1);
}
cmd.Dispose();
co.Close();
4.1 如下图所示VBA 程序界面,代码如下,包括更新和查询的功能
'以下是VBA的语法
MsgBox "更新数据库开始"
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim comm As ADODB.Command
Dim sSqlQuery As String
Dim sSqlUpdate As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Driver={PostgreSQL Unicode};Server=110.190.227.128;Port=5432;Database=db;UID=root;PWD=root;"
conn.Open
sSqlUpdate = "update test_1 set update_time=now() "
conn.Execute (sSqlUpdate)
sSqlQuery = "SELECT id, name, age, entry_date, create_time , update_time FROM test_1"
rs.Open sSqlQuery, conn
Sheets(1).Range("C3").CopyFromRecordset rs
conn.Close
Set conn = Nothing
MsgBox "更新数据库结束"