设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
运维技术 —— LinuxSir.cn
›
服务器架设、应用、维护
›
在Linux下可使用PHP连接MS-SQL。但我现在要连接的是Acce ...
返回列表
查看:
631
|
回复:
0
在Linux下可使用PHP连接MS-SQL。但我现在要连接的是Access:(:(
[复制链接]
folklore
folklore
当前离线
积分
573
IP卡
狗仔卡
发表于 2004-12-17 19:48:46
|
显示全部楼层
|
阅读模式
X
http://www.ac$$$$$$$$/
9JbpRZX1Axw
http://www.ac$$$$$$$$/
rhS
提出问题
http://www.ac$$$$$$$$/
9JbpRZX1Axw
http://www.ac$$$$$$$$/
9JbpRZX1Axw
前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务。这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间。而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和安全性都不尽如意,希望能够在Linux下用PHP脚本读写SQLServer。
http://www.ac$$$$$$$$/
9JbpRZX1Axw
分析问题
http://www.ac$$$$$$$$/
9JbpRZX1Axw
http://www.ac$$$$$$$$/
9JbpRZX1Axw
本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般可以通过ODBC或SQLServer Client连接,这都是Windows下面现成的。但是在Linux下面没有现成的ODBC和SQLServer Client,需要我们自己安装。
http://www.ac$$$$$$$$/
9JbpRZX1Axw
解决问题
http://www.ac$$$$$$$$/
9JbpRZX1Axw
http://www.ac$$$$$$$$/
9JbpRZX1Axw
一、相关软件
http://www.ac$$$$$$$$/
9JbpRZX1Axw
freetds 来源:
ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz
;
http://www.ac$$$$$$$$/
9JbpRZX1Axw
这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。
http://www.ac$$$$$$$$/
9JbpRZX1Axw
二、安装配置步骤
http://www.ac$$$$$$$$/
9JbpRZX1Axw
第一步:编译安装freetds:
http://www.ac$$$$$$$$/
9JbpRZX1Axw
得到freetds-0.53.tgz后
http://www.ac$$$$$$$$/
9JbpRZX1Axw
cp freetds-0.53.tgz /tmp/. (拷贝freetds包到/tmp目录)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
cd /tmp (进入目录)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
tar zxvf freetds-0.53.tgz (解压)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
cd freetds-0.53 (进入解压后目录)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
./configure –prefix=/usr/local/freetds --with-tdsver=7.0
http://www.ac$$$$$$$$/
9JbpRZX1Axw
gmake (生成Makefile,我试验过,make也可以)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
gmake install (安装)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
关于上面configure我想说一下,--prefix=/usr/local/freetds是指安装到/usr/local/freetds这个目录中,--with-tdsver=7.0是指安装tds 7.0版本(最开是我没有加这个编译参数,结果按照默认编译为5.0。5.0连接数据库的端口是4000,不是SQLServer的1433)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
第二步:重新编译PHP4
http://www.ac$$$$$$$$/
9JbpRZX1Axw
./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds(请注意是sybase)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
make
http://www.ac$$$$$$$$/
9JbpRZX1Axw
make install
http://www.ac$$$$$$$$/
9JbpRZX1Axw
第三步:配置freetds
http://www.ac$$$$$$$$/
9JbpRZX1Axw
vi /usr/local/freetds/etc/freetds.conf
http://www.ac$$$$$$$$/
9JbpRZX1Axw
具体配置见该文件中的说明
http://www.ac$$$$$$$$/
9JbpRZX1Axw
例: (典型配置)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
[sqlserver]
http://www.ac$$$$$$$$/
9JbpRZX1Axw
host = sql_server_name_or_host_ip (你的SQLServer机器名字或者IP地址)
http://www.ac$$$$$$$$/
9JbpRZX1Axw
port = 1433
http://www.ac$$$$$$$$/
9JbpRZX1Axw
tds version = 7.0
http://www.ac$$$$$$$$/
9JbpRZX1Axw
在这个配置文件中可以配置Windows域登陆或者SQLServer账号登陆两种方式
http://www.ac$$$$$$$$/
9JbpRZX1Axw
第四步:配置php.ini文件
http://www.ac$$$$$$$$/
9JbpRZX1Axw
找到 ;extension=mssql70.so
http://www.ac$$$$$$$$/
9JbpRZX1Axw
将注释;去掉成
http://www.ac$$$$$$$$/
9JbpRZX1Axw
extension=mssql70.so
http://www.ac$$$$$$$$/
9JbpRZX1Axw
第五步:在php中建立数据库连接
http://www.ac$$$$$$$$/
9JbpRZX1Axw
$link=mssql_connect("sqlserver",$your_username,$your_password) or die (“can’t Connect to Database”);
http://www.ac$$$$$$$$/
9JbpRZX1Axw
echo $link;
http://www.ac$$$$$$$$/
9JbpRZX1Axw
在浏览器中运行上面脚本, 如果你得到一个link号那么恭喜,你已经配置好了,如果出现Call to undefined <I>function</I>: mssql_connect() 那说明仔细看上面的安装配置过程看你哪一步没有对。
http://www.ac$$$$$$$$/
9JbpRZX1Axw
注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,如果你写的IP地址,就是IP地址。
http://www.ac$$$$$$$$/
9JbpRZX1Axw
其他数据库操作参考相关mssql函数
http://www.ac$$$$$$$$/
9JbpRZX1Axw
注意,在sql语句中不支持中文!!!
http://www.ac$$$$$$$$/
9JbpRZX1Axw
第六步:调试
http://www.ac$$$$$$$$/
9JbpRZX1Axw
如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetds.log文件,它可以告诉你很多出错的信息帮助你排除问题。
______________________________________________________________________
http://bbs.ac$$$$$$$$/html/Article/163/17277.htm
___________________________________________________________________
谁能帮我?Linux下使用IIS连接ACCESS???
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
开源软件专题讨论
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表