<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[SQL Relay]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 31 Dec 2009 14:06:53 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	软件包下载：<br/>http://sqlrelay.sourceforge.net/download.html<br/>http://rudiments.sourceforge.net/download.html<br/><br/><br/>写的比较好的安装url：http://www.linuxsir.org/main/?q=node/144<br/><br/>一、SQL Relay是什么？<br/><br/>SQL Relay是一个开源的数据库池连接代理服务器<br/><br/><br/>二、SQL Relay支持哪些数据库？<br/>&nbsp;&nbsp;&nbsp;&nbsp; * Oracle<br/>&nbsp;&nbsp;&nbsp;&nbsp; * MySQL<br/>&nbsp;&nbsp;&nbsp;&nbsp; * mSQL<br/>&nbsp;&nbsp;&nbsp;&nbsp; * PostgreSQL<br/>&nbsp;&nbsp;&nbsp;&nbsp; * Sybase<br/>&nbsp;&nbsp;&nbsp;&nbsp; * MS SQL Server<br/>&nbsp;&nbsp;&nbsp;&nbsp; * IBM DB2<br/>&nbsp;&nbsp;&nbsp;&nbsp; * Interbase<br/>&nbsp;&nbsp;&nbsp;&nbsp; * Sybase<br/>&nbsp;&nbsp;&nbsp;&nbsp; * SQLite<br/>&nbsp;&nbsp;&nbsp;&nbsp; * Lago<br/>&nbsp;&nbsp;&nbsp;&nbsp; * ODBC<br/>&nbsp;&nbsp;&nbsp;&nbsp; * MS Access<br/><br/><br/>三、安装和配置；<br/><br/>不说废话了，开始安装SQL Relay，到 http://sqlrelay.sourceforge.net/ 去下载相应的软件<br/>安装SQL Relay需要先安装Rudiments， 在 http://sqlrelay.sourceforge.net/download.html 可以找到<br/><br/><br/>1、安装Rudiments:<br/>URL：<br/>http://sourceforge.net/projects/rudiments/files/rudiments/0.32/rudiments-0.32.tar.gz/download<br/>注：<br/>如果sqlrelay 采用0.41&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rudiments采用0.32 测试时 会报错，估计是Bug<br/><br/><br/><div class="code">./configure --prefix=/usr/local/rudiments;make ;make install;</div><br/><br/><br/><div class="code">/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/sql_relay.so<br/>vi /usr/local/webserver/php/etc/php.ini<br/><br/>extension = &quot;dio.so&quot;<br/>extension = &quot;sql_relay.so&quot;</div><br/><br/># tar vxzf rudiments-0.28.2.tar.gz<br/># cd rudiments-0.28.2<br/># ./configure --prefix=/usr/local/rudiments //默认：ac_default_prefix=/usr/local/firstworks&nbsp;&nbsp;&nbsp;&nbsp;vi configure 即可看到！<br/># make<br/># make install<br/><br/>至此，rudiments安装结束<br/><br/><br/>2、安装SQL Relay:<br/># tar vxzf sqlrelay-0.36.4.tar.gz<br/># cd sqlrelay-0.36.4<br/># ./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安装路径<br/><br/><div class="code"><br/>./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&nbsp;&nbsp;;make ;make install;<br/><br/></div><br/># make<br/># make install<br/><br/>安装结束，以上编译参数根据个人需要来设定，因为我同时需要Oracle SQLserver MySQL，所以才加了这么多参数的<br/><br/>3、设置PHP:<br/><br/>修改php.ini<br/>extension_dir = &quot;./&quot;<br/><br/>把以上内容修改为:<br/>extension_dir = &quot;/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922&quot;<br/><br/>根据PHP安装的路径来修改，并不是每个版本的PHP都是这个路径<br/>在php.ini中添加如下内容<br/>extension=sql_relay.so<br/><br/>接下来，介绍SQL Relay如何连接SQL Server<br/>修改FreeTDS的配置文件freetds.conf<br/>加入如下内容:<br/>[msde]<br/>host = 172.16.20.203<br/>port =1433<br/>tds version = 8.0<br/>client charset = GB2312<br/><br/>请根据个人需求来修改<br/><br/><br/>4、修改SQL Relay的配置文件<br/># cd /usr/local/sqlrelay/etc<br/># cp sqlrelay.conf.example sqlrelay.conf<br/><br/>把sqlrelay.conf的内容改为:<br/>&lt;?xml version=&quot;1.0&quot;?&gt;<br/>&lt;!DOCTYPE instances SYSTEM &quot;sqlrelay.dtd&quot;&gt;<br/>&lt;instances&gt;<br/>&lt;instance id=&quot;msdetest&quot; port=&quot;9000&quot; socket=&quot;/tmp/msdetest.socket&quot; dbase=&quot;freetds&quot; connections=&quot;5&quot; maxconnections=&quot;10&quot; maxqueuelength=&quot;0&quot; growby=&quot;1&quot; ttl=&quot;60&quot; endofsession=&quot;commit&quot; sessiontimeout=&quot;5&quot; runasuser=&quot;nobody&quot; runasgroup=&quot;nobody&quot; cursors=&quot;5&quot; authtier=&quot;listener&quot; handoff=&quot;pass&quot;&gt;<br/>&lt;users&gt;<br/>&lt;user user=&quot;sa&quot; password=&quot;sa&quot;/&gt;<br/>&lt;/users&gt;<br/>&lt;connections&gt;<br/>&lt;connection connectionid=&quot;msdetest&quot; string=&quot;server=msde;db=pubs;user=sa;password=sa;&quot; metric=&quot;1&quot;/&gt;<br/>&lt;/connections&gt;<br/>&lt;/instance&gt;<br/>&lt;/instances&gt;<br/><br/><br/>四、启动SQL Relay，并测试；<br/><br/><br/>1、启动 SQL Relay<br/># export PATH=$PATH:/usr/local/sqlrelay/bin<br/># sqlr-start -id msdetest<br/><br/><br/><br/><div class="code">&#91;root@bogon bin&#93;# ./sqlr-status <br/>Warning: using default id.<br/>Warning: using default connectionid.<br/>Couldn&#039;t parse config file /usr/local/firstworks/etc/sqlrelay.conf.<br/>Couldn&#039;t find id defaultid.<br/>&#91;root@bogon bin&#93;# vi /usr/local/firstworks/etc/sqlrelay.conf</div><br/>2、使用SQL工具:<br/># sqlrsh -id msdetest<br/><br/>可以直接输入SQL语句<br/><br/>停止SQL Relay:<br/># sqlr-stop msdetest<br/><br/><br/>3、测试PHP:<br/><br/>写一个PHP文件，内容如下:<br/>&lt;?<br/>$con=sqlrcon_alloc(&quot;msdetest&quot;,9000,&quot;/tmp/msdetest.socket&quot;,&quot;sa&quot;,&quot;sa&quot;,0,1);<br/>$cur=sqlrcur_alloc($con);<br/>sqlrcur_sendQuery($cur,&quot;select * from t_gifts&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for ($row=0; $row&lt;sqlrcur_rowCount($cur); $row++) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for ($col=0; $col&lt;sqlrcur_colCount($cur); $col++) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo sqlrcur_getField($cur,$row,$col);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;,&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;&lt;br&gt;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>sqlrcur_free($cur);<br/>sqlrcon_free($con);<br/>?&gt;<br/><br/>执行这个PHP文件，看看能不能出现数据<br/>全文结束~~<br/>Good Luck!!!<br/>下载地址：<br/>http://sqlrelay.sourceforge.net/<br/><br/><br/><br/>一、SQL Relay是什么？ SQL Relay是一个开源的数据库池连接代理服务器 二、SQL Relay支持哪些数据库？&nbsp;&nbsp;* 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:<br/>QUOTE:<br/># tar vxzf rudiments-0.28.2.tar.gz # cd rudiments-0.28.2 # ./configure --prefix=/usr/local/rudiments # make # make install<br/><br/>至此，rudiments安装结束 2、安装SQL Relay:<br/>QUOTE:<br/># 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<br/><br/>安装结束，以上编译参数根据个人需要来设定，因为我同时需要Oracle SQLserver MySQL，所以才加了这么多参数的 3、设置PHP: 修改php.ini extension_dir = &quot;./&quot; 把以上内容修改为:<br/>QUOTE:<br/>extension_dir = &quot;/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922&quot;<br/><br/>根据PHP安装的路径来修改，并不是每个版本的PHP都是这个路径在php.ini中添加如下内容 extension=sql_relay.so 接下来，介绍SQL Relay如何连接SQL Server 修改FreeTDS的配置文件freetds.conf 加入如下内容:<br/>QUOTE:<br/>[msde] host = 172.16.20.203 port =1433 tds version = 8.0 client charset = GB2312<br/><br/>请根据个人需求来修改 4、修改SQL Relay的配置文件 # cd /usr/local/sqlrelay/etc # cp sqlrelay.conf.example sqlrelay.conf 把sqlrelay.conf的内容改为:<br/>QUOTE:<br/><br/>四、启动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文件，内容如下:<br/>QUOTE:<br/>&#92;n&quot;; &#125; sqlrcur_free($cur); sqlrcon_free($con); ?&gt;<br/><br/>执行这个PHP文件，看看能不能出现数据全文结束~~ 
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] SQL Relay]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>