MySQL
这一章来讲下MySQL。
EZDML的所有版本安装包均自带了MySQL的驱动库,理论上也是直接就能连接MySQL数据库。
不过实际上可能还是会有一些问题,因为自带驱动是5.x的版本,可能与实际用的有不同,如果你的MySQL数据库服务器版本较高,可能需要自行寻找并设置指定驱动库文件位置:
Win64版
以win64版为例,EZDML自带了5.7的libmysql.dll驱动,这个驱动我测试似乎可以连我机上的MySQL8:
数据源格式:IP地址:端口@数据库名
输入用户名密码,然后直接连接就行:
登录成功,列出数据库对象:
执行导入结果:
这个MYSQL数据库是8.0的:
Win32版
Win32版跟Win64差不多一样的,但win32版自带的libmysql.dll驱动的版本比较低,应该是n年前从QQ还是什么软件里拷出来的(那时EZDML还没有64位的版本),我也不知道是什么版本,反正它连我机上的MySQL8时会报错:
但连我另一个5.5的数据库就一切正常:
我暂时也没有再找连MySQL8的32位驱动了,反正有64位顶着。大家如果有可以推荐下。
Linux版
Linux版自带驱动为libmysqlclient.so,我也忘记是从哪里弄来的了,应该版本也较低,连接MySQL8也是不行的:
同样也是换连5.5就一切正常:
登录成功:
导入结果:
目前也是先这样了,等有空时再找下MySQL8的驱动。
MacOS版
EZDML for MacOS自带的驱动是libmysqlclient.dylib,同样也是连不了MySQL8:
改连MySQL5一切正常:
导入结果:
回头有空再找找MYSQL8的驱动。大家如有在用的也可以推荐一下。
总体来说MySQL没什么可讲的,输入IP地址服务名用户密码就行,连不上多半就是驱动有问题(当然,先排除网络问题)。
通过JDBC连MYSQL
如果你的系统环境复杂,没办法直接用MYSQL的原生驱动,而且你对JAVA运行环境有一定的了解,则可以考虑用JDBC连接。
EZDML有一个HTTP_JDBC连接,不过它是采用通用方式处理,所有元数据读取均以标准数据库方式处理,无法针对MYSQL导入和生成个性内容,因此通过HTTP_JDBC获取元数据往往会有缺失或错误。
从V3.59版开始,EZDML的MYSQL连接支持通过JDBC驱动,在连接配置窗口中增加了JDBC连接字符串的配置:
选择JDBC连接后,输入JDBC的连接信息(主要是url,可添加driver,分号分隔,内容中有分号的话用#59#代替),确定,输入用户名密码登录。
当选择JDBC连接时,除了连接驱动换成JDBC,其它跟平时是一样的。
JDBC连接的底层实现仍然是使用HTTP_JDBC,需要安装JAVA虚拟机,并将相关驱动JAR包放到EZDML/jdbc/lib目录下,运行时会自动启动HTTP_JDBC服务进行连接,并显示JAVA控制台输出窗口(如不喜欢看这个窗口,可在数据库连接设置里隐藏)。
关于JDBC的更详细信息参见《EZDML连接数据库——JDBC》。
通过ODBC连接
如果找不到合适驱动连不上数据库,可考虑用ODBC。大部分数据库都提供了ODBC的标准驱动安装程序,在ODBC数据源里配置好连接后就可以直接使用了。
EZDML本身有一个ODBC连接,但它是采用通用方式处理,无法针对MYSQL导入和生成个性内容,通过ODBC获取元数据往往会有缺失或错误。
从V3.58版开始,EZDML的MYSQL连接支持ODBC驱动,在连接配置窗口中增加了DSN或ODBC连接字符串的配置:
选择DSN后,因为已经在DSN中设置登录用户和密码,因此直接点确定连接就可以了:
导入结果:
当选择ODBC连接时,除了连接驱动换成ODBC,其它跟平时是一样的。
使用ODBC连接有时会遇到中文乱码问题,需要设置字符集编码,参见《EZDML连接数据库——ODBC》。
PostgreSQL
参见《EZDML连接数据库——PostgreSQL和人大金仓》
SQLite
ODBC
参见《EZDML连接数据库——ODBC》
JDBC
参见《EZDML连接数据库——JDBC》