php连接远程mssql数据库

时间:2022-05-09 21:59:17
<? 
set_time_limit(0);
$con = mssql_connect('218.18.39.51,1433', 'sa', '1') or die("连接不上数据库"); 


mssql_select_db("DB_CustomSMS") or die("选择数据库失败");

$id = mssql_query("INSERT INTO tbl_SMSendTask( CreatorID,SmSendedNum,OperationType, SuboperationType, SendType, OrgAddr, DestAddr, SM_Content, SendTime, 

NeedStateReport,ServiceID, FeeType, FeeCode, SMType, MessageID, DestAddrType, SubTime, TaskStatus, SendLevel, SendState,TryTimes)
VALUES('2008', 0, 'was', '66', 1, '0680204232008', '15920155284', '短信测试30577888887', getdate(),0,'EIES', '01', '000000',  0, '0', 0, getdate(),0,1, 0, 0)");

if ($id) {
echo "发送成功";
} else {
echo "发送失败";
}
?> 

我想连接远程的mssql数据库.php_ini中已经做了修改.现在报连接不上远程的数据库
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 218.18.39.51,1433 in D:\wamp\www\t.php on line 3
帐户和密码都正确。
请各位兄弟多多指教,看看到底是那里出了问题。

18 个解决方案

#1


权限问题!默认的是只有localhost才可以访问的!

#2


mysql 要建立远程连接用户才可以的。

#3


那该怎么弄?
本地的很容易能连上。现在我要连远程的用户名和密码都正确啊。就是连接不上。
sa用户了。还需要什么权限啊?

#4


sa是远程用户啊。

#5


sa是远程用户啊。

#6


设置一个可以远程连接的用户

#7


需要在mysql开启远程访问权限帐户.

#8


mssql_connect  or  mysql_connect

#9


步骤: 
1. 首先按通常做法配置好PHP5连接MS SQL Server
2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://webzila.com/dll/1/ntwdblib.zip
3. 覆盖 apache2.2.6\bin\ntwdblib.dll
4. 覆盖 php5.2.5\ntwdblib.dll
5. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols
6. 允许命名管道 "named pipes" 和 "tcp/ip"
7. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"
8. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433
9. 重启 SQL Server、Apache和PHP

#10


本地连远程是不可以的

#11




$con = mssql_connect('218.18.39.51,1433', 'sa', '1') or die("连接不上数据库"); mssql_select_db("DB_CustomSMS") or die("选择数据库失败"); 


1433是端口号吗?

还有就是下面
如果你的数据库是
DB_CustomSMS

mssql_select_db('DB_CustomSMS', $conn);

是不是这样呢?

#12


还有一个就是
你的用户名和密码,允许访问218.18.39.51服务器上的DB_CustomSMS数据库

这个是你连接写错了
没有报错,权限问题啊

#13


<?
$con=@mssql_connect("localhost","sa","");
echo "d";
if($con==false){
echo "没连上服务器!";
exit();
}
echo "b";
$db=mssql_select_db("trswcm",$con);
if($db==false){
echo "没连上数据库!";
exit();
}
echo "c";
$query="select doctitle from wcmdocument where docsource=90;";
$res=@mmsql_query($query,$con);
$num=@mssql_num_rows($con);
echo $num;
echo "连接成功!";
?>


1433。。。指什么。。。。。。。

#14


TCP Dynamic Ports?

#15


1
<?php   
  
/**  
  * php使用mssql库,连接sql server数据库实例  
 */  
  
  
  $server='ip地址或服务器名';   
  $username='数据库用户名';   
  $password='数据库密码';   
  $database='数据库名';   
  
  $conn=mssql_connect($server,$username,$password)   
        or die("Couldn't connect to SQL Server on $server");   
  $db=mssql_select_db($database) or die("Couldn't open database $database");   
  
?>   


2<?php   
  
/**  

  * php使用ODBC连接sql server数据库实例  
 */  
  
  $server='ip地址或服务器名';   
  $username='数据库用户名';   
  $password='数据库密码';   
  $database='数据库名';   
  
  $connstr = "Driver={SQL Server};Server=$server;Database=$database";   
  
  if ( !odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)){   
  echo "Couldn't connect to SQL Server on $server";   
  }else{   
  echo "Connect successfully!<br>";   
  }   
?>   

#16


我用的是wamp 
就是连不上远程的mssql 


Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 218.198.176.88 in G:\program\wamp\www\wwe\link.php on line 9

#17


谢谢 15楼 

#18


1、检查mssql的版本
2、检查mssql是否允许远程连接(mssql 2005 及以上默认不允许远程连接)
3、检查用户验证方式(不能是windows用户方式)
4、检查防火墙是否开放1433

#1


权限问题!默认的是只有localhost才可以访问的!

#2


mysql 要建立远程连接用户才可以的。

#3


那该怎么弄?
本地的很容易能连上。现在我要连远程的用户名和密码都正确啊。就是连接不上。
sa用户了。还需要什么权限啊?

#4


sa是远程用户啊。

#5


sa是远程用户啊。

#6


设置一个可以远程连接的用户

#7


需要在mysql开启远程访问权限帐户.

#8


mssql_connect  or  mysql_connect

#9


步骤: 
1. 首先按通常做法配置好PHP5连接MS SQL Server
2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://webzila.com/dll/1/ntwdblib.zip
3. 覆盖 apache2.2.6\bin\ntwdblib.dll
4. 覆盖 php5.2.5\ntwdblib.dll
5. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols
6. 允许命名管道 "named pipes" 和 "tcp/ip"
7. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"
8. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433
9. 重启 SQL Server、Apache和PHP

#10


本地连远程是不可以的

#11




$con = mssql_connect('218.18.39.51,1433', 'sa', '1') or die("连接不上数据库"); mssql_select_db("DB_CustomSMS") or die("选择数据库失败"); 


1433是端口号吗?

还有就是下面
如果你的数据库是
DB_CustomSMS

mssql_select_db('DB_CustomSMS', $conn);

是不是这样呢?

#12


还有一个就是
你的用户名和密码,允许访问218.18.39.51服务器上的DB_CustomSMS数据库

这个是你连接写错了
没有报错,权限问题啊

#13


<?
$con=@mssql_connect("localhost","sa","");
echo "d";
if($con==false){
echo "没连上服务器!";
exit();
}
echo "b";
$db=mssql_select_db("trswcm",$con);
if($db==false){
echo "没连上数据库!";
exit();
}
echo "c";
$query="select doctitle from wcmdocument where docsource=90;";
$res=@mmsql_query($query,$con);
$num=@mssql_num_rows($con);
echo $num;
echo "连接成功!";
?>


1433。。。指什么。。。。。。。

#14


TCP Dynamic Ports?

#15


1
<?php   
  
/**  
  * php使用mssql库,连接sql server数据库实例  
 */  
  
  
  $server='ip地址或服务器名';   
  $username='数据库用户名';   
  $password='数据库密码';   
  $database='数据库名';   
  
  $conn=mssql_connect($server,$username,$password)   
        or die("Couldn't connect to SQL Server on $server");   
  $db=mssql_select_db($database) or die("Couldn't open database $database");   
  
?>   


2<?php   
  
/**  

  * php使用ODBC连接sql server数据库实例  
 */  
  
  $server='ip地址或服务器名';   
  $username='数据库用户名';   
  $password='数据库密码';   
  $database='数据库名';   
  
  $connstr = "Driver={SQL Server};Server=$server;Database=$database";   
  
  if ( !odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)){   
  echo "Couldn't connect to SQL Server on $server";   
  }else{   
  echo "Connect successfully!<br>";   
  }   
?>   

#16


我用的是wamp 
就是连不上远程的mssql 


Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 218.198.176.88 in G:\program\wamp\www\wwe\link.php on line 9

#17


谢谢 15楼 

#18


1、检查mssql的版本
2、检查mssql是否允许远程连接(mssql 2005 及以上默认不允许远程连接)
3、检查用户验证方式(不能是windows用户方式)
4、检查防火墙是否开放1433