本文适用达梦数据库dm7,环境为arm64版银河麒麟。
由于图形化安装十分简便,达梦数据库说明书上提到的设置不再多讲,主要讲一下遇到过的几个问题。
(声明:这件事不怪技术支持,因为我们也没说我们的系统平台的架构。)
对方提供的 ODBC 2.3.0 在我们的机器上进行make
前的configure
时无法识别系统架构……勉强编译了arm架构版本却无法正常使用。
解决方法:使用 ODBC 2.3.7,可以自动识别安装在 aarch64 架构设备上的银河麒麟的架构。之后顺利安装。
解决方法:出现这个问题可以先在文件系统里搜一下ODBC的两个ini配置文件,你会发现这两个文件都不止一个副本,建议全部修改。
不仅如题,当进入数据库后还会发现自己曾经建立的表都不见了。
事后和同事分析了一下,又在开发机上复现了一下,感觉怪怪的,很是诧异。技术支持也表示十分震惊。情况,就我的猜测,大概是如果路径没有设置好,那么在登录的时候可能会读不到正确的认证信息。但是写入的时候会写入正确的位置……所以我们原来刚建的那个数据库……没了……原来第一个实例的强制九位的密码也重置成了SYSDBA。到目录里搜索数据库文件,也确实只有那一个,而且备份也没有了……
解决方法:首先使用命令odbc_config --libs
确定ODBC动态链接库位置,然后将该路径配置为LD_LIBRARY_PATH
环境变量的值,同时核对其他的数据库环境变量没有错误,并且建议在连接前检查对应会话的环境变量,无误后应能连接成功。
解决方法:与3类似,LD_LIBRARY_PATH
路径应当与安装后ODBC的动态链接库位置一致。
注意:这里与情况3其实是一种情况,都是环境变量没配置好的问题,只是因为表现不同所以单独列出来了。