前几天遇到的ODBC API问题,虽然有手册,还是想了解别人是怎么做的,安装体验吧。
1、Oracle
能下载到,但是不安装它自己的客户端好像没法单独用,ldd也证实这一点。
Windows版里边竟然只有dll,必须配合安装后的客户端才行。
Oracle客户端安装繁琐但是不难,难的是装完以后你没法干净卸载,滚开吧!
2、SQL Server
首先,ODBC对旧版本的支持很差,如果测试数据库很旧,先去搞数据库吧。
而微软一般不保留express旧版本下载,新版本(2017)又需要新OS(至少我已经知道Windows7 没法装)
折腾到最后,我决定装一个Linux版 SQL Server 2017。
不管哪个edition,在启用时都要求2000M内存,至少提示是这么说的,但实际上我的虚拟机是2G。
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
。。。
sqlservr: This program requires a machine with at least 2000 megabytes of memory.
Initial setup of Microsoft SQL Server failed. Please consult the ERRORLOG
内存改成4G
Setup has completed successfully. SQL Server is now starting.
下载ODBC(以后此链接可能失效,自行搜索):
Microsoft® ODBC Driver 13 for SQL Server® - Windows + Linux
Linux只能下载安装手册
按照这个手册前边是没有问题的,至少yum安装之前正常,手册是这样写的:
yum install msodbcsql-13.0.1.0-1 mssql-tools
mssql-tools 依赖 unixODBC
msodbcsql-13.0.1.0-1 依赖 unixODBC-utf16
Error: unixODBC-utf16 conflicts with unixODBC-2.3.1-11.el7.x86_64
Error: msodbcsql17 conflicts with unixODBC-utf16-2.3.1-1.x86_64
无论如何也没法安装,除非加参数强制,这样天知道能不能正常用。
折腾许久之后才想起,yum list msodbcsql*,还有一个更新的版本17!
yum install msodbcsql mssql-tools
Installing:
msodbcsql
mssql-tools
Installing for dependencies:
msodbcsql17
unixODBC
来看看17的下载页:
Microsoft® ODBC Driver 17 for SQL Server® - Windows, Linux, & macOS
标题上的 Linux和macOS 去哪里啦?
还是没搞懂依赖关系,总算能用了:
SQL> select 1
+------------+
| |
+------------+
| 1 |
+------------+
SQLRowCount returns 0
1 rows fetched
目的达到。