数据库

 首页 > 数据库 > SqlServer > PHP使用mssql_connect 和odbc方法连接mssql

PHP使用mssql_connect 和odbc方法连接mssql

分享到:
【字体:
导读:
         摘要:首先是mssql_connect方式,这种方式比较方便,但是可能会遇到服务器没有安装mssql模块的情况。$ms_host192.168.1.xx;//主机$ms_usersa;//用户名$ms_pass123456;//密码$ms_datashf_test;//MSSQL库名$ms_connectmssql_conn...

PHP使用mssql_connect 和odbc方法连接mssql

  首先是mssql_connect方式,这种方式比较方便,但是可能会遇到服务器没有安装mssql模块的情况。

  $ms_host="192.168.1.xx";//主机 $ms_user="sa";//用户名

  $ms_pass="123456";//密码

  $ms_data="shf_test"; //MSSQL库名

  $ms_connect= mssql_connect($ms_host,$ms_user,$ms_pass)

  ordie("Couldn't connect to SQL Server on $ms_host");

  $ms_select= mssql_select_db($ms_data,$ms_connect)

  ordie("Couldn't open database$ms_select");

  $update ="SELECT reportid

  FROM ReportInfo

  WHERE (report_goods_id = '$id') ;";

  $result= mssql_query($update);

  return$result; 报错可能是:

  (1) Call to undefined function mssql_connect() :这是因为没有开启mssql模块。

  ①在php.ini中找到:

  extension=php_mssql.dll,和extension=php_pdo_mssql.dll,确定他们的前面没有“;”。

  ②在php.ini中找到:

  extension_dir = "C:phpext"。这里是extension目录,确认这个目录下有php_mssql.dll、php_pdo_mssql.dll。

  ③php.ini的位置,extension_dir的位置可以使用phpinfo()查看。

  (2)mssql_connect() : Unable to connect to server: 192.168.1.xx:连接失败,最可能是的是没有开启mssql的远程连接。这里有具体的开启方法。

  当然,我的情况是这样设置了以后还是不能连接,后来我注意到我的服务器上有一个运行的图标,而那台虽然开启了远程连接,而且用SQL Server Management Studio也可以正常连接的服务器则没有这个图标,也许是这个原因。具体是什么情况改天问一下mssql的专家们。

  因为另一台服务器是iis的,没有安装phpmssql模块,所以我采用odbc的连接方式,

  $ms_host="test";//这里是ODBC的连接名称

  $ms_user="test";//用户名

  $ms_pass="test123";//密码

  $ms_connect=odbc_connect($ms_host,$ms_user,$ms_pass) ordie("Couldn't connect to SQL Server on MSSQL"); 在那台服务器上建立一个odbc连接,具体操作是:

  ①打开控制面板-管理工具-数据源 (ODBC)-“系统DSN”的选项卡,点击“添加”,在“创建新数据源”中选择“SQL Native Client”。

  ②填入数据库基本资料,因为是本地数据库,所以填写(local)
  ③创建数据源。建议选择“使用用户输入登录ID和密码的SQL server验证”,这样可以限制用户的操作权限。
  ④选择“默认数据库”,链接完成。

  因为php手册上写的OBDC链接代码加载了ODBC Driver,但其实在win平台服务器下只需要直接输入实例名就可以了。手册上mssql_connect函数,在servername函数上使用了的格式,但其实只要直接填写ip地址(除非特殊情况否则不需要端口号),因为手册的缘故浪费了我不少时间…希望看到这篇博文的朋友不要走这些弯路…总之这php连接mssql数据库有点麻烦,因为微软的软件体积都很大,一个数据库加上工具包都有1G以上了,还是习惯mysql的小巧和简单的命令界面。

PHP使用mssql_connect 和odbc方法连接mssql
分享到:
解决PHP连接mssql时ntext不能读取的问题
解决PHP连接mssql时ntext不能读取的问题 原因可能是:php对mssql的ntext类型的支持问题; 今天弄了半天,明明可以链接到数据库,却不能读取的数据。Google,百度一番之后终于知道了,原来是php读取mssql的 ntext字段反回值为空的,建议可以把ntext字段改成 text。 如果是表里面没有ntext字段,可以用以下代码: //...
同台主机安装SQL2000和SQL2005冲突解决办...
同台主机安装SQL2000和SQL2005冲突解决办法 在同一服务器上安装sql2000和sql2005,现把安装过程中遇到的问题记录下来,方便遇到同样问题的朋友. 1,因为sql2000安装过程中无法修改实例名称,故安装过程中必须先安装sql2000,然后在安装sql2005.安装sql2005时必须修改sql实例名称,否则将和sql2000的实例名称冲突. 2,安装...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……