EZDML 数据建模

超轻量级的免费数据建模工具

0%

EZDML连接数据库——PostgreSQL和人大金仓

PostgreSQL

PostgreSQL我用得少,没什么经验可分享。EZDML for win32/win64版均自带了PostgreSQL的驱动,我测试是直接就能连。

Windows版

以win64版为例:

PostgreSQL连接

连接的数据源格式为:地址:端口@数据库。

导入结果:

导入结果

Win32版也是一样的:

Win32版

Win32自带的libpq.dll版本较旧,如果需要请自行上网获取新版。

Linux版

以CentOS6为例,EZDML没有自带Linux的PostgreSQL驱动,直接连接的话可能会报错:

无驱动报错

因此需要大家自行安装,Linux下安装libpq应该是比较方便的,CentOS6下就是执行一条命令:

1
yum install postgresql-devel

安装libpq.so

安装完成:

libpq安装完成

就可以登录了:

登录成功

测试导入数据库结果:

导入结果

MacOS版

EZDML也没有自带MacOS版的驱动。不过不知谁什么时候装了驱动,我这虚拟机直接就连上了:

登录PostgreSQL

导入结果:

测试导入结果

通过JDBC连PostgreSQL

如果你的系统环境复杂,没办法用libpq,而且你对JAVA运行环境有一定的了解,则可以考虑用JDBC连接。

EZDML有一个HTTP_JDBC连接,不过它是采用通用方式处理,所有元数据读取均以标准数据库方式处理,无法针对POSTGRESQL导入和生成个性内容,因此通过HTTP_JDBC获取元数据往往会有缺失或错误。

从V3.59版开始,EZDML的POSTGRESQL连接支持通过JDBC驱动,在连接配置窗口中增加了JDBC连接字符串的配置:

选择JDBC连接后,输入JDBC的连接信息(主要是url,可添加driver,分号分隔,内容中有分号的话用#59#代替),确定,输入用户名密码登录。

当选择JDBC连接时,除了连接驱动换成JDBC,其它跟平时是一样的。

JDBC连接的底层实现仍然是使用HTTP_JDBC,需要安装JAVA虚拟机,并将相关驱动JAR包放到EZDML/jdbc/lib目录下,运行时会自动启动HTTP_JDBC服务进行连接,并显示JAVA控制台输出窗口(如不喜欢看这个窗口,可在数据库连接设置里隐藏)。

参见《EZDML连接数据库——JDBC》。

通过ODBC连接

如果找不到合适驱动连不上数据库,可考虑用ODBC。大部分数据库都提供了ODBC的标准驱动安装程序,在ODBC数据源里配置好连接后就可以直接使用了。

EZDML本身有一个ODBC连接,但它是采用通用方式处理,无法针对PostgreSQL导入和生成个性内容,通过ODBC获取元数据往往会有缺失或错误。

从V3.58版开始,EZDML的PostgreSQL连接支持ODBC驱动,在连接配置窗口中增加了DSN或ODBC连接字符串的配置:

选择DSN后,因为已经在DSN中设置登录用户和密码,因此直接点确定连接就可以了:

当选择ODBC连接时,除了连接驱动换成ODBC,其它跟平时是一样的。

使用ODBC连接有时会遇到中文乱码问题,需要设置字符集编码,参见《EZDML连接数据库——ODBC》。

人大金仓数据库

人大金仓跟PostgreSQL有点关联,因此把它放在这里来讲。

人大金仓管理工具

人大金仓安装完后,我看它自带了oci/occi/dci目录,以为跟达梦一样,习惯性就想用ORACLE指定oci.dll的方式适配:

OCI目录

结果瞎折腾了大半天也连不上。

后来突然想起人大金仓是基于PostgreSQL开发的,于是直接用EZDML for win64自带的PostgreSQL驱动连接,结果是一次就成功了:

登录成功

导入也是如丝般顺滑:

导入结果

然后测试win32版,发现自带驱动版本太低:

Win32自带驱动连接失败

不过不要紧,我在金仓的驱动目录中找了一个win32的libpq.dll,指定为EZDML for win32使用:

指定libpq.dll

然后就轻松连上去了:

连接成功

EZDML for Linux也试一下,似乎也是版本太低:

Linux连接失败

根据经验就是要升级libpq(据说把数据库的加密降级也行,我没试),在网上找了个postgresql10-libs-10.20的rpm,只有几百KB:

升级libpq

接下来就一路绿灯了:

登录成功

导入成功

接着试高大上的苹果版,EZDML for macOS,也是报错:

Mac登录报错

这个比较头大,找了半天找不到独立的libpq 10 for mac的下载,只好一咬牙下载了个287MB的PostgreSQL 10的数据库:

下载安装PostgreSQL10

一顿操作猛如虎后,我终于有新版的libpq了:

新版libpq

接下来毫无悬念地登录、选择、导入、完成:

导入成功

好了,人大金仓演示结束。说实话我感觉我更像是演示了一下高版本的PostgreSQL。

SQLite

参见《EZDML连接数据库——SQLite

ODBC

参见《EZDML连接数据库——ODBC

JDBC

参见《EZDML连接数据库——JDBC

HTTP

参见《EZDML连接数据库——HTTP连接扩展

ORACLE

参见《EZDML连接数据库——ORACLE和达梦

SQL Server

参见《EZDML连接数据库——SQL Server

MySQL

参见《EZDML连接数据库——MySQL