UnixODBC与FreeTDS安装配置教程
4星 · 超过85%的资源 需积分: 48 130 浏览量
更新于2024-09-18
收藏 2KB TXT 举报
本文档是关于在Unix系统上安装unixODBC、freetds和DBD-ODBC的详细步骤,以实现与Microsoft SQL Server的连接。
UnixODBC是一个开放源代码的ODBC(Open Database Connectivity)驱动程序管理器,它允许在Unix和Linux系统上与各种数据库进行通信。freetds是一个开源的库,提供了对Microsoft SQL Server和Sybase的连接支持。DBD-ODBC是Perl模块,通过ODBC接口来访问数据库。
下面是安装过程的详细步骤:
1. 首先,确认Perl和DBI模块已经安装。可以运行`perl -MDBI -e 'DBI->installed_versions'`来检查DBI是否已安装。
2. 安装unixODBC:
- 解压下载的unixODBC源码包,例如:`tar xvf unixODBC-2.2.12.tar.gz`
- 进入解压后的目录,如:`cd unixODBC-2.2.12`
- 运行配置脚本,并指定安装路径:`./configure --prefix=/usr/local/unixODBC`
- 编译源码:`make`
- 安装编译后的二进制文件:`make install`
3. 安装freetds:
- 解压freetds源码包,例如:`tar xvf freetds-0.64RC2.tar.gz`
- 进入源码目录:`cd freetds-0.64RC2`
- 配置freetds,指定unixODBC的路径、TDS版本以及禁用libiconv:`./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0 --disable-libiconv`
- 编译源码:`make`
- 安装编译后的二进制文件:`make install`
4. 安装DBD-ODBC:
- 设置环境变量ODBCHOME指向unixODBC的安装位置:`export ODBCHOME=/usr/local/unixODBC`
- 解压DBD-ODBC源码:`tar xzf DBD-ODBC-1.13.tar.gz`
- 进入源码目录:`cd DBD-ODBC-1.13`
- 生成Makefile:`perl Makefile.PL`
- 编译和安装:`make` 和 `make install`
5. 配置freetds:
- 打开freetds的配置文件:`vi /usr/local/freetds/etc/freetds.conf`
- 添加一个新的服务器配置,例如:
```
[MyServer2k]
host = 192.168.0.32
port = 1433
tds version = 8.0
```
- 使用tsql工具测试连接:`/usr/local/freetds/bin/tsql -S MyServer2k -H 192.168.0.32 -p 1433 -U Usa -P password`
6. 配置UnixODBC的odbcinst.ini:
- 打开UnixODBC的odbcinst.ini文件:`vi /usr/local/unixODBC/odbcinst.ini`
- 添加FreeTDS驱动的配置,例如:
```
[FreeTDS]
Description = MS-SQL Server
Driver = /usr/local/freetds/lib/libtdsodbc.so
Setup =
```
现在,Unix系统已经配置好与SQL Server的连接。可以通过创建ODBC数据源并使用Perl的DBI模块来连接和查询数据库。例如,创建一个名为"MyDSN"的数据源,并执行SQL查询:
```bash
# 创建数据源
isql -v MyDSN Usa password
# 在isql会话中执行查询
SQL> SELECT COUNT(*) FROM tablename;
```
或者,在Perl中使用DBI模块:
```perl
use DBI;
my $dsn = "DBI:ODBC:FreeTDS";
my $user = "Usa";
my $password = "password";
my $dbh = DBI->connect($dsn, $user, $password) or die $DBI::errstr;
my $sth = $dbh->prepare("SELECT COUNT(*) FROM tablename");
$sth->execute();
while (my @row = $sth->fetchrow_array()) {
print "Count: $row[0]\n";
}
$sth->finish();
$dbh->disconnect();
```
完成以上步骤后,你就可以在Unix环境中通过ODBC接口与远程的Microsoft SQL Server进行交互了。
2015-12-08 上传
2017-12-13 上传
2023-03-28 上传
2021-04-13 上传
2017-10-20 上传
2016-04-15 上传
2021-10-19 上传
kevin5034
- 粉丝: 1
- 资源: 2
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码