我正在尝试使用IIS和SQL server的windows服务器托管一个网站。然而,与简单的SQL Server odbc连接,我不幸地发现,没有机会在IIS工作。在寻找解决方案后,我发现我不知何故需要将SQL Server连接到IIS。每个人都在讨论连接字符串应该放在web。config中。文件。
字符串:
<connectionStrings>
<add name="MyProjectContext" connectionString="Server=.SQLEXPRESS;Database=MyProject;User Id=John;Password=duck;" providerName="System.Data.SqlClient" />
</connectionStrings>
但是我到底需要把这个放在哪里,这个网在哪里。配置文件,我怎么才能到达那里?
谢谢你的帮助。在研究和尝试了很多东西之后,我找到了一个很好的解决方案,如何将我的数据库SQL Server在IIS中与PHP连接。
- 需要创建一个Web。
- 在这个网站里面。配置文件粘贴连接字符串,例如
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="sqlDB" connectionString="Server=xxx.xxx.xxx.xxx; Database=db_name; User Id=sqlserver_user_name; password=sqlserver_password;Max Pool Size=2000;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
- 然后在相同的路径下创建文件,例如sql.php(下面的示例不需要更改)
<?php
// start get connection string from web.config
$xml = simplexml_load_file("Web.config") or die("Error: Cannot create object");
//in my case web.config is in previous directory
$array = json_decode(json_encode((array) $xml), 1);
$server = "";
$database = "";
$user = "";
$password = "";
$fullString = ($xml->connectionStrings->add[0]["connectionString"]);
$strArr = explode(";", $fullString);
$arrCount = count($strArr);
$connArr[]="";
for($x=0;$x<$arrCount-1;$x++){
$aS = explode("=",$strArr[$x]);
$connArr+=array(strtolower(trim($aS[0])) => trim($aS[1]));
}
$server = $connArr["server"];
$database = $connArr["database"];
$user = $connArr["user id"];
$password = $connArr["password"];
// end get connection string from web.config
$connectionInfo = array( "UID"=>$user,
"PWD"=>$password,
"Database"=>$database,
"CharacterSet" => "UTF-8");
/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect( $server, $connectionInfo);
?>
- $conn执行sql_query()