PHP远程MSSQL连接

时间:2012-11-15 10:36:10

标签: php sql-server remote-server

我正在尝试为我的公司开发一个解决方案,我的目标是将我们的Web服务器(在php上,并且已经运行了一个网站)连接到我们的CRM数据库(在mssql和基于mssql上)在另一台服务器上)。我的第一个解决方案是在Web服务器中拥有此CRM数据库的副本,并且由于安全问题每天或每小时对其进行同步。但是现在我正在考虑建立直接连接,你认为这是可能的吗?如果可能的话,我可能会遇到什么样的安全问题。有没有人有这种问题的经验?

由于

J

3 个答案:

答案 0 :(得分:0)

连接到远程数据库的速度很慢,但至少您的数据是一致的。如果速度不是一切,我建议这种方法。迁移数据可能很痛苦。

您可能希望在服务器之间创建安全(SSL)连接。有关详细信息,请咨询您的系统管理员。

答案 1 :(得分:0)

应该不鼓励每天进行同步,因为您将失去实时数据可靠性。

如果您使用的是PHP 5.1版,它仍然支持通过php_mssql.dll连接php-mssql,请确保在PHP.ini上启用它

答案 2 :(得分:0)

<?php  
$serverName = "ServerName"; /// use remote server name here
$uid = "sqlusername";   
$pwd = "sqlpassword";  
$databaseName = "DBName"; 

$connectionInfo = array( "UID"=>$uid,                            
                         "PWD"=>$pwd,                            
                         "Database"=>$databaseName); 

/* Connect using SQL Server Authentication. */  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  

$tsql = "SELECT id, FirstName, LastName, Email FROM tblContact";  

/* Execute the query. */  

$stmt = sqlsrv_query( $conn, $tsql);  

if ( $stmt )  
{  
     echo "Statement executed.<br>\n";  
}   
else   
{  
     echo "Error in statement execution.\n";  
     die( print_r( sqlsrv_errors(), true));  
}  

/* Iterate through the result set printing a row of data upon each iteration.*/  

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))  
{  
     echo "Col1: ".$row[0]."\n";  
     echo "Col2: ".$row[1]."\n";  
     echo "Col3: ".$row[2]."<br>\n";  
     echo "-----------------<br>\n";  
}  

/* Free statement and connection resources. */  
sqlsrv_free_stmt( $stmt);  
sqlsrv_close( $conn);  
?>