荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (我命由我不由天), 信区: Linux
标  题: Linux+apache+php访问MS SQL Server 7.0数据库[转载]
发信站: BBS 荔园晨风站 (Tue Jun  6 21:21:09 2000), 转信

【 以下文字转载自 zzt 的信箱 】
【 原文由 zzt.bbs@bbs.dot66.net 所发表 】
作者: SuperStar (星际斗士) 站内: Linux
标题: Linux+apache+php访问MS SQL Server 7.0数据库[转载]
时间: Tue May 30 09:51:43 2000



Linux+apache+php访问MS SQL Server 7.0数据库    2000年5月15日 21:41
redhat 6.1 linux+apache+php做web服务器,NT +Sql server 7.0做数据库服务器
用户通过web服务器访问数据库。
可是微软的sql server没有提供linux/unix下的客户程序,
经过查资料,原来sybase的客户程序可以访问sql server6.5,
我们就尝试一下,看它是否支持sql server7.0
1.sybase的安装
 从202.38.64.123/pub/linux/database下的sybase目录下了5个binary的rpm包
 root执行:
 rpm -ivh sybase-common-11.9.2-1
 rpm -ivh sybase-ase-11.9.2-1
 rpm -ivh sybase-doc-11.9.2-1
 rpm -ivh sybase-chinese-11.9.2-1
 rpm -ivh sybase-monserver-11.9.2-1
 sybase 装在/opt/sybase-11.9.2目录下面。
2.改sybase的interfaces,sybase根据servername来区别服务器,
 这些都是在sybase安装目录下的interfaces文件定义的。
 Interface文件举例如下:
 MSSQL
      Query tcp ether mysql 1433
  其中:
    MSSQL是客户端使用的服务器名,以后引用MSSQL即可;
    mysql是服务器的地址或名字,如果是名字,则系统能够查到其IP地址;
    1433是SQL Server的端口号,Microsoft SQL Server的缺省值是1433,Sybase是50
00。
  这个文件有自己的特殊格式,比如,各个服务器条目之间用一个空行隔开,
  有些行的开头用Tab标识,
  所以最好还是使用sybase自己提供的工具来修改,Xwindow下的dsedit和命令行下的d
scp
  具体请看sybase自带的doc目录下的pdf格式的手册,很全。
  我的interfaces:
  Mssql_server_name
        query tcp ether 192.168.100.4 1433
3.安装php+apache
  使用的是php和apache的source包,php-3.0.14.tar.gz和apache_1.3.9.tar.gz,
  tar zxvf php-3.0.14.tar.gz
  tar zxvf apache_1.3.9.tar.gz
2.改sybase的interfaces,sybase根据servername来区别服务器,
 这些都是在sybase安装目录下的interfaces文件定义的。
 Interface文件举例如下:
 MSSQL
      Query tcp ether mysql 1433
  其中:
    MSSQL是客户端使用的服务器名,以后引用MSSQL即可;
    mysql是服务器的地址或名字,如果是名字,则系统能够查到其IP地址;
    1433是SQL Server的端口号,Microsoft SQL Server的缺省值是1433,Sybase是50
00。
  这个文件有自己的特殊格式,比如,各个服务器条目之间用一个空行隔开,
  有些行的开头用Tab标识,
  所以最好还是使用sybase自己提供的工具来修改,Xwindow下的dsedit和命令行下的d
scp
  具体请看sybase自带的doc目录下的pdf格式的手册,很全。
  我的interfaces:
  Mssql_server_name
        query tcp ether 192.168.100.4 1433
3.安装php+apache
  使用的是php和apache的source包,php-3.0.14.tar.gz和apache_1.3.9.tar.gz,
  tar zxvf php-3.0.14.tar.gz
  tar zxvf apache_1.3.9.tar.gz
  cd apache_1.3.9
  ./configure --prefix=/home/apache
  cd ../php-3.0.14
  ./configure --with-sybase=/opt/sybase-11.9.2 --with-apache=../apache_1.3.9

              --enable-track-vars
  make
  make install
  cd ../apache_1.3.9
  make
  make install
  cp ../php-3.0.14/php3.ini-dist /usr/local/lib/php3.ini
  Edit your httpd.conf or srm.conf file and add:
  AddType application/x-httpd-php3 .php3
4.连接数据库测试,一个简单的mssql.php3测试程序,
  一个最简单的TEST库,有一个test表,
 <?php
  echo "hello<br>";
  @$sql_server=mssql_connect("Mssql_server_name","db_user","db_passwd");
  mssql_select_db("TEST",$sql_server);
  $re=mssql_query("select * from test",$sql_server);
  while($rr=mssql_fetch_array($re))
  {
  for($i=0;$i<3;$i++)
    echo $rr[$i]." ";
  echo "<br>";
  }
  mssql_close($sql_server);
 ?>
 可以正常运行了!php中的mssql和sybase系列的函数都可以使用,
 sybase系列的函数也可以访问sql server (好象mssql的库是直接复制sybase的)。
 不过上面的连接数据库语句的警告输出被屏蔽了,因为sql server 7.0还是和sybase有

 区别的,估计其中的身份验证等可能有些差别,会有一些waring,所以屏蔽了输出,
 不过不影响使用。
5.经过上面的步骤,就可以在linux下访问mssql的数据库了,当然具体的web访问管理
  等功能还是要自己编php程序了。由于只是想使用sybase的客户程序访问sql server,

  对sybase的数据库功能没有深入研究。
  有什么问题,请mail: 9310guo@sina.com

--




唉,学点东西真不容易,老得追着人家屁股后面问 --让大虾受累的说
--
※ Origin: 笑 书 亭 <bbs.dot66.net>
◆ From: 10.21.41.73
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.11]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店