linux连sql server

为了模拟客户的一个环境,必须自己在公司内网搭建一下,让我郁闷的是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 ";
  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】 这个连接的。

你可能感兴趣的:(linux连sql server)