关闭

linux连sql server

505人阅读 评论(0) 收藏 举报
为了模拟客户的一个环境,必须自己在公司内网搭建一下,让我郁闷的是linux主站去连接sql server 数据库,从里面读取数据。这个是第一次配置,以前都是使用mysql的。
     freetds是linux连接sql 的一个第三方开源软件,提供库函数。
 
     背景:通过apache调用一个php脚本去sql数据库获得数据。
     操作系统:redhat 5.x
     数据库   :sql server 2005
     其他软件:freetds,apache,php
 
1、apache安装(yum安装即可)
      yum install httpd httpd-devel
2、freetds 安装
      tar  xzvf  freetds-stable.tgz
     cd  freetds-0.91
     ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
     make
     make instal
 
   说明:注意--with-tdsver=8.0 这个8.0对应的是sql server的版本,我这使用的是sql  server 2005.
 
3、php编译安装(将freetds静态编译进php)
    tar  xzvf   php-5.2.13.tar.gz
    cd   php-5.2.13
    ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/sbin/apxs --with-config-file- 
     path=/etc/ --with-mssql=/usr/local/freetds/
   make
   make install     
 
   cp  php.ini-dist  /etc/php.ini
    ln -s /usr/local/php5/bin/php /usr/local/bin/php \\软连接,可以直接使用php命令
 
4、配置freetds
      /usr/local/freetds/etc/freetds.conf 修改该配置文件
      修改文件最后一个模块:
      # A typical Microsoft server
       [Mysql2k3]                   \\该符号用于连接sql
        host = 192.168.200.173  \\sql数据库地址
        port = 1433            \\sql 数据库端口
        tds version = 8.0
 
 
 5、linux连接sql测试
     cd  /usr/local/freetds/bin
      ./tsql -S Mysql2k3 -H 192.168.200.173 -p 1433 -U sa -P 123456
 
      出现下图说明联通。(我不会使用命令)
  
      
6、将php文件放入apache目录下,重启apache。
 
7、测试连通性的php脚本
 
<?php
echo "begin\n";
if(mssql_connect('Mysql2k3','sa','123456')){
//if(mssql_connect('192.168.200.173','sa','123456')){
echo   "成功 ";
}
else   {
echo   "失败 ";
}
?>
 
说明:php执行连接并不是使用sql server 的ip地址来连接的,而是通过freetds.conf里面的 【Mysql2k3】 这个连接的。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1068556次
    • 积分:12179
    • 等级:
    • 排名:第1174名
    • 原创:299篇
    • 转载:84篇
    • 译文:1篇
    • 评论:57条
    文章分类
    最新评论