SQL Relay

jackxiang 2009-12-31 22:06 | |
软件包下载:
http://sqlrelay.sourceforge.net/download.html
http://rudiments.sourceforge.net/download.html


写的比较好的安装url:http://www.linuxsir.org/main/?q=node/144

一、SQL Relay是什么?

SQL Relay是一个开源的数据库池连接代理服务器


二、SQL Relay支持哪些数据库?
     * Oracle
     * MySQL
     * mSQL
     * PostgreSQL
     * Sybase
     * MS SQL Server
     * IBM DB2
     * Interbase
     * Sybase
     * SQLite
     * Lago
     * ODBC
     * MS Access


三、安装和配置;

不说废话了,开始安装SQL Relay,到 http://sqlrelay.sourceforge.net/ 去下载相应的软件
安装SQL Relay需要先安装Rudiments, 在 http://sqlrelay.sourceforge.net/download.html 可以找到


1、安装Rudiments:
URL:
http://sourceforge.net/projects/rudiments/files/rudiments/0.32/rudiments-0.32.tar.gz/download
注:
如果sqlrelay 采用0.41                 Rudiments采用0.32 测试时 会报错,估计是Bug


./configure --prefix=/usr/local/rudiments;make ;make install;



/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/sql_relay.so
vi /usr/local/webserver/php/etc/php.ini

extension = "dio.so"
extension = "sql_relay.so"


# tar vxzf rudiments-0.28.2.tar.gz
# cd rudiments-0.28.2
# ./configure --prefix=/usr/local/rudiments //默认:ac_default_prefix=/usr/local/firstworks    vi configure 即可看到!
# make
# make install

至此,rudiments安装结束


2、安装SQL Relay:
# tar vxzf sqlrelay-0.36.4.tar.gz
# cd sqlrelay-0.36.4
# ./configure --prefix=/usr/local/sqlrelay --with-rudiments-prefix=/usr/local/rudiments --with-mysql-prefix=MySQL安装路径 --with-freetds-prefix=FreeTDS安装路径 --with-oracle-home=Oracle安装路径 --with-php-prefix=PHP安装路径


./configure --prefix=/usr/local/sqlrelay --with-rudiments-prefix=/usr/local/rudiments --with-mysql-prefix=/usr/local/webserver/mysql --with-php-prefix=/usr/local/webserver/php  ;make ;make install;


# make
# make install

安装结束,以上编译参数根据个人需要来设定,因为我同时需要Oracle SQLserver MySQL,所以才加了这么多参数的

3、设置PHP:

修改php.ini
extension_dir = "./"

把以上内容修改为:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922"

根据PHP安装的路径来修改,并不是每个版本的PHP都是这个路径
在php.ini中添加如下内容
extension=sql_relay.so

接下来,介绍SQL Relay如何连接SQL Server
修改FreeTDS的配置文件freetds.conf
加入如下内容:
[msde]
host = 172.16.20.203
port =1433
tds version = 8.0
client charset = GB2312

请根据个人需求来修改


4、修改SQL Relay的配置文件
# cd /usr/local/sqlrelay/etc
# cp sqlrelay.conf.example sqlrelay.conf

把sqlrelay.conf的内容改为:
<?xml version="1.0"?>
<!DOCTYPE instances SYSTEM "sqlrelay.dtd">
<instances>
<instance id="msdetest" port="9000" socket="/tmp/msdetest.socket" dbase="freetds" connections="5" maxconnections="10" maxqueuelength="0" growby="1" ttl="60" endofsession="commit" sessiontimeout="5" runasuser="nobody" runasgroup="nobody" cursors="5" authtier="listener" handoff="pass">
<users>
<user user="sa" password="sa"/>
</users>
<connections>
<connection connectionid="msdetest" string="server=msde;db=pubs;user=sa;password=sa;" metric="1"/>
</connections>
</instance>
</instances>


四、启动SQL Relay,并测试;


1、启动 SQL Relay
# export PATH=$PATH:/usr/local/sqlrelay/bin
# sqlr-start -id msdetest



[root@bogon bin]# ./sqlr-status
Warning: using default id.
Warning: using default connectionid.
Couldn't parse config file /usr/local/firstworks/etc/sqlrelay.conf.
Couldn't find id defaultid.
[root@bogon bin]# vi /usr/local/firstworks/etc/sqlrelay.conf

2、使用SQL工具:
# sqlrsh -id msdetest

可以直接输入SQL语句

停止SQL Relay:
# sqlr-stop msdetest


3、测试PHP:

写一个PHP文件,内容如下:
<?
$con=sqlrcon_alloc("msdetest",9000,"/tmp/msdetest.socket","sa","sa",0,1);
$cur=sqlrcur_alloc($con);
sqlrcur_sendQuery($cur,"select * from t_gifts");
      for ($row=0; $row<sqlrcur_rowCount($cur); $row++) {
              for ($col=0; $col<sqlrcur_colCount($cur); $col++) {
                      echo sqlrcur_getField($cur,$row,$col);
                      echo ",";
              }
              echo "<br>\n";
      }
sqlrcur_free($cur);
sqlrcon_free($con);
?>

执行这个PHP文件,看看能不能出现数据
全文结束~~
Good Luck!!!
下载地址:
http://sqlrelay.sourceforge.net/



一、SQL Relay是什么? SQL Relay是一个开源的数据库池连接代理服务器 二、SQL Relay支持哪些数据库?  * Oracle * MySQL * mSQL * PostgreSQL * Sybase * MS SQL Server * IBM DB2 * Interbase * Sybase * SQLite * Lago * ODBC * MS Access 三、安装和配置; 不说废话了,开始安装SQL Relay,到 http://sqlrelay.sourceforge.net/ 去下载相应的软件安装SQL Relay需要先安装Rudiments, 在 http://sqlrelay.sourceforge.net/download.html 可以找到 1、安装Rudiments:
QUOTE:
# tar vxzf rudiments-0.28.2.tar.gz # cd rudiments-0.28.2 # ./configure --prefix=/usr/local/rudiments # make # make install

至此,rudiments安装结束 2、安装SQL Relay:
QUOTE:
# tar vxzf sqlrelay-0.36.4.tar.gz # cd sqlrelay-0.36.4 # ./configure --prefix=/usr/local/sqlrelay --with-rudiments-prefix=/usr/local/rudiments --with-mysql-prefix=MySQL安装路径 --with-freetds-prefix=FreeTDS安装路径 --with-oracle-home=Oracle安装路径 --with-php-prefix=PHP安装路径 # make # make install

安装结束,以上编译参数根据个人需要来设定,因为我同时需要Oracle SQLserver MySQL,所以才加了这么多参数的 3、设置PHP: 修改php.ini extension_dir = "./" 把以上内容修改为:
QUOTE:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922"

根据PHP安装的路径来修改,并不是每个版本的PHP都是这个路径在php.ini中添加如下内容 extension=sql_relay.so 接下来,介绍SQL Relay如何连接SQL Server 修改FreeTDS的配置文件freetds.conf 加入如下内容:
QUOTE:
[msde] host = 172.16.20.203 port =1433 tds version = 8.0 client charset = GB2312

请根据个人需求来修改 4、修改SQL Relay的配置文件 # cd /usr/local/sqlrelay/etc # cp sqlrelay.conf.example sqlrelay.conf 把sqlrelay.conf的内容改为:
QUOTE:

四、启动SQL Relay,并测试; 1、启动 SQL Relay # export PATH=$PATH:/usr/local/sqlrelay/bin # sqlr-start -id msdetest 2、使用SQL工具: # sqlrsh -id msdetest 可以直接输入SQL语句 停止SQL Relay: # sqlr-stop msdetest 3、测试PHP: 写一个PHP文件,内容如下:
QUOTE:
\n"; } sqlrcur_free($cur); sqlrcon_free($con); ?>

执行这个PHP文件,看看能不能出现数据全文结束~~

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2437/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2010-5-9 10:53
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]