近期需要通过LINUX系统去取到sql server中几个表的数据,在网上百度了很多方法,如通过freetds等,安装的时候都出现各种问题,且步骤繁多。百度谷歌加上咨询同事好久,后来发现通过easysoft公司的ODBC软件即可实现。(www.easysoft.com可在product下边找到需要安装的产品。)

根据我的linux系统版本,选择的是32位linux适合的ODBC版本。下载odbc-sqlserver-1.4.27-linux-x86-glibc.tar 。

解压文件 tar xvf odbc-sqlserver-1.4.27-linux-x86-glibc.tar

# cd odbc-sqlserver-1.4.27-linux-x86-glibc

# ls
all.tar dsn_template_ssl install_intro licenses_template unixodbc.tar.md5sum
all.tar.md5sum echo install_license license.txt unixodbc.tar.sum
all.tar.sum essqlservertarerr install_linkpaths licshell unixODBC_version.txt
check_root.txt ident install_other_products OSname.txt uodbc
cmpver install install_paths sqlserver_create_dsn.sh uodbcinstall.txt
config.log install_check_linux INSTALL.txt SQLSERVER_uodbcinstall.txt uodbc_tmp
drv_template install_check_products install_versioned tables_22189.sql versioned
drv_template_2236 install_check_root intro.txt tee
drv_template_ssl install_check_sunos licclient testlib
dsn_22189 install_check_tools license_request.txt unixODBC
dsn_template install_init licenses.out unixodbc.tar

执行install文件安装ODBC驱动。(用root用户执行)

#./install

这个集合了很多操作。每步都会弹出提示让你进入下一步。

第一步提示Press the return key to read license,按回车即可。

接下来会刷很多license信息。Do you accept the license? (q=quit, yes, no):

如果接受,输入yes.

然后会执行一些检查命令,查看系统是否有基本一些命令工具的安装。按回车进入下一步。

紧接着会检查一些必须的包是否安装。按回车进入下一步。

下一步会让你输入一个路径,将在这个路径下产生"easysoft/sqlserver", "easysoft/lib", "easysoft/license",
"easysoft/etc". "easysoft/bin" and possibly "easysoft/unixODBC"这些目录。默认是/usr/local。

接着会让你确认是否要创建这个目录。Continue with install? (y/n) [y]: 输入y进入下一步。

此时会提示安装unixODBC需要依赖ODBC driver manager。按RETURN进入下一步。

然后会让你输入一些个人信息。不想输的可以直接回车跳过。

接下来会有一步让选择licence。会有三个OPTION。

[0] Exit

[1] View existing licenses

[2] SQLServer ODBC Driver V1.2

Please choose the product you would like a license for by entering its item number or enter one of the other options.

可以选择2,但是选择之后发现这个license是收费的。。如果想出钱的话就去买。我是直接quit了的。进入下一步。

按要求一步步输入IP地址,端口,用户名,密码,实例。它会自动测试你提供的东西是否正确。当有足够信息去连接数据库后,会提示输入一个DSN名字。即为你的数据库起一个名字,方便后边登陆的时候使用。

这一步完成后,配置基本完成了。

别高兴的太早,linux下怎能忘了这么重要的一步----配置一个环境变量。

将LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib export LD_LIBRARY_PATH写入到用户profile文件中。注意路径要正确。

现在就可以验证啦。

#cd /usr/local/easysoft/unixODBC/bin

#./isql -v dsn_name

可以连接就OK啦。