一、关于测试环境及Linux连接SQL Server 的说明;
测试环境:
gcc 3.3.3 , kernel 2.6.5-1 , glibc 2.3.3-27 , perl 5.8.3
关于SQL Server说明:
MS从来没有提供过SQLServer for Linux,所以大家也不要去尝试在Linux系统安装SQLServer,但是可以通过ODBC连接Windows 系统的SQLServer数据库;
Windows Server 2003用户注意:
在Windows Server 2003系统上安装的SQLServer是不会打开1433端口的,所以请Windows2003用户在安装完SQLServer之后一定装上 SQLServer SP3布丁
二、下载 相关软件 unixODBC、freetds和DBD-ODBC
首先需要下载 3个文件:
Linux系统的ODBC
unixODBC-2.2.8.tar.gz ( http://www.unixodbc.org)
连接SQLServer或Sybase的驱动
freetds-0.62.4.tar.gz ( http://www.freetds.org)
perl的ODBC模块
DBD-ODBC-1.12.tar.gz ( http://cpan.perl.org)
把下载 到的三个文件放到同一个目录
三、安装和配置;
1、安装unixODBC
# tar vxzf unixODBC-2.2.8.tar.gz
# cd unixODBC-2.2.8
# ./configure --prefix=/usr/local/unixODBC
# make
# make install
2、安装freetds
# tar vxzf freetds-0.62.4.tar.gz
# cd freetds-0.62.4
# ./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0
# make
# make install
3、安装DBD-ODBC
在安装之前要先设置一下环境变量
# export DBCHOME=/usr/local/unixODBC
之后开始编译安装
# tar vxzf DBD-ODBC-1.12.tar.gz
# cd DBD-ODBC-1.12
# perl Makefile.PL
# make
# make install
所有的软件到现在都安装完成了,接下来就是配置了
4、配置freetds
# cd /usr/local/freetds
# vi etc/freetds.conf
修改以下的一段,并把;去掉
改好之后的内容:
[MyServer2k]
host=192.168.0.32
port=1433
tds version=8.0
其中的[MyServer2k]代表在客户端使用的服务器 名称,host代表SQLServer服务器 的IP地址,port代表端口,测试连接;
# bin/tsql -S MyServer2k -H 192.168.0.32 -p 1433 -U sa -P password
1> use gameDB
2> go
1> select count(*) from t_ip
4
1> quit
一切都很顺利
现在来说明以下这些参数的作用,-S MyServer2k是在freetds.conf中定义好的,-H 192.168.0.32服务器IP地址,和freetds.conf中的一致,如果使用了-S参数,这个参数可以不用,-p 1433用来指定端口是1433 ,-U sa用来指定连接数据库 的用户名,-P password用来指定连接数据库的密码。
5、配置unixODBC
# cd /usr/local/unixODBC
向 ODBC添加SQLServer驱动
# vi etc/odbcinst.ini
写入如下内容:
[TDS] ;驱动名称
Description = MS-SQLServer ;描述
Driver = /usr/local/freetds/lib/libtdsodbc.so ;驱动程序
Setup = /usr/local/freetds/lib/libtds.so ;不要问我,我也不知道这是什么
FileUsage = 1
保存退出
添加DSN
# vi etc/odbc.ini
写入如下内容
[123] ;DSN名称
Driver = TDS ;ODBC驱动
Server = 192.168.0.32 ;服务器IP
Database = gameDB ;要使用的数据库
Port = 1433 ;端口
Socket =
Option =
Stmt =
保存并退出,测试ODBC的连接
# bin/isql -v 123 sa password
SQL> select count(*) from t_ip
+----------+
| |
+----------+
| 4 |
+----------+
SQL> quit
OK,测试通过,开始测试 perl能否正确使用ODBC
在使用perl连接ODBC之前要做些准备工作
把ODBC的共享库都复制到/usr/lib目录
# cp /usr/local/unixODBC/lib/libodbc.* /usr/lib
6、perl脚本测试能否成功;
# vi test.pl
内容如下
#!/usr/bin/perl
use DBI;
$dbh=DBI->connect('dbi:ODBC:123','sa','password');
my $sth=$dbh->prepare("select * from t_ip";
$sth->execute();
while (@data=$sth->fetchrow_array()){
print "$data[0] $data[1] $data[2]\n";
}
保存退出
# perl test.pl
分享到:
相关推荐
在Linux环境中,通过配置ODBC(Open Database Connectivity)数据源来连接SQL Server是一种常见的需求。ODBC提供了一种标准的方式来访问各种数据库管理系统(DBMS),使得应用程序可以与不同的数据库进行交互而无需...
在Linux环境下,开发C语言应用程序并使用ODBC(Open Database Connectivity)访问远程Windows主机上的Microsoft SQL Server 2000或2005数据库是一项挑战,但完全可行。本实例将详细阐述如何实现这一目标,涉及的主要...
在本文中,我们将深入探讨如何在 Laravel 5 框架中使用 FreeTDS 连接到 SQL Server 数据库。Laravel 是一个流行的 PHP 框架,它提供了丰富的功能和优雅的语法,使得 web 应用程序的开发变得更加便捷。然而,由于默认...
2. **数据库连接**:FreeTDS允许用户在非Windows环境下使用ODBC(Open Database Connectivity)或DB-Library接口与SQL Server和Sybase数据库进行交互,这极大地拓宽了开发者的工具选择范围。 3. **协议兼容性**:...
### Zabbix 3.0 安装指南及关键步骤详解 #### 一、概述 Zabbix是一款企业级的开源监控工具,它能够监控...通过以上步骤,您可以在Linux环境下成功安装配置Zabbix 3.0监控系统,实现对网络、服务器和应用的全面监控。
在 `/etc/zabbix/zabbix_server.conf` 文件中设置数据库连接参数: ```plaintext DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=password ``` **3. 启动 Zabbix 服务** - 启动 Zabbix Server 和...
本节将详细介绍如何在CentOS环境下部署Zabbix Server。 **1. 配置YUM源** - 使用EPEL YUM源来安装所需的软件包。 ```bash rpm -ivh ...
本文档将详细介绍如何在Linux环境下安装配置Zabbix 2.2.8版本,包括准备环境、安装服务端以及配置数据库等步骤。 #### 关闭SELinux 首先,确保服务器上的SELinux被关闭,因为默认情况下SELinux可能会阻止Zabbix的...