前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL Relay开源的数据库池连接代理服务器

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

作者头像
Java架构师必看
发布2021-03-22 11:18:31
2.5K0
发布2021-03-22 11:18:31
举报
文章被收录于专栏:Java架构师必看

一、SQLRelay是什么?SQLRelay是一个开源的数据库池连接代理服务器二、SQLRelPHP

一、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:

# 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:

# 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 = "./"

把以上内容修改为:

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

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文件,看看能不能出现数据 全文结束~~

参考:http://hi.baidu.com/mrvsumbeujeinxe/item/8ba0c60888cf47c490571896

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档