Linux环境下使用freetds连接Windows SqlServer数据库教程

需积分: 50 23 下载量 88 浏览量 更新于2024-09-15 收藏 2KB TXT 举报
本文主要介绍了如何在Linux系统上通过ODBC技术使用freetds来连接和访问Windows系统上的SQL Server 2000数据库。freetds是一个开放源代码的库,它允许Linux与Microsoft SQL Server进行通信。下面将详细阐述安装和配置freetds以及配置ODBC连接的步骤。 1. 安装freetds 首先,你需要从freetds的官方网站(http://www.freetds.org)获取最新的源代码包。在下载完成后,解压缩文件到一个合适的目录,比如 `/usr/src`。在配置阶段,需要使用`./configure`命令指定安装路径、TDS版本以及启用msdblib选项。以下是一个示例配置命令: ``` ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib ``` 这里,`--prefix` 指定了安装目录,`--with-tdsver=8.0` 适用于SQL Server 2000,`--enable-msdblib` 启用与SQL Server兼容的库。 2. 编译与安装 执行 `make` 和 `make install` 来编译源代码并将其安装到指定的目录。这会将freetds的相关文件安装到 `/usr/local/freetds`。 3. 配置环境 为了让系统能找到freetds的库文件,需要将 `/usr/local/freetds/lib` 添加到 `/etc/ld.so.conf` 文件中,并运行 `ldconfig` 更新动态链接库缓存。这样,系统就可以在需要时找到freetds的库。 4. 配置freetds.conf 编辑 `/usr/local/freetds/etc/freetds.conf` 文件,添加一个新的服务器配置,例如: ```conf [hzyl_his1] host=hzyl port=1433 tdsversion=8.0 clientcharset=GB18030 ``` 在这个例子中,`hzyl` 是目标SQL Server的主机名,`1433` 是默认的SQL Server端口,`tdsversion` 对应于使用的TDS版本,而`clientcharset` 设置了客户端字符集。 5. 测试连接 使用 `tsql` 命令行工具测试连接,例如: ``` /usr/local/freetds/bin/tsql -S hzyl_his1 -U hzyl_his -P hzyl_his ``` 如果连接成功,你可以输入 `go` 命令执行SQL语句。 6. 配置Unix ODBC 为了通过ODBC接口访问SQL Server,还需要配置Unix ODBC驱动。编辑 `/etc/odbcinst.ini` 文件,添加以下内容: ```ini [TDS] Description=MS-SQLServer Driver=/usr/local/freetds/lib/libtdsodbc.so Setup=/usr/local/freetds/lib/libtds.so ``` 这样,你就创建了一个名为[TDS]的ODBC数据源,指向freetds的ODBC驱动。 7. 创建ODBC数据源 使用 `isql` 或者 `odbcconf` 工具创建一个ODBC数据源,例如: ``` isql -v TDS hzyl_his1 hzyl_his hzyl_his ``` 或者 ``` odbcconf ADDDSN "DSN=hzyl_his1;DRIVER=TDS;SERVER=hzyl;PORT=1433;DATABASE=your_database_name;UID=hzyl_his;PWD=hzyl_his" ``` 这里,`your_database_name` 应替换为你想要连接的实际数据库名称。 现在,你已经成功配置了freetds和Unix ODBC,可以在Linux环境下通过ODBC接口访问Windows上的SQL Server 2000数据库了。无论是开发、测试还是数据分析,这个连接都能提供便利。