【问题标题】:How to connect SQL Server by ConnectionString stored in Web.config?如何通过存储在 Web.config 中的 ConnectionString 连接 SQL Server?
【发布时间】:2021-10-28 18:46:51
【问题描述】:

我正在尝试使用带有 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>

但是我需要把这个放在哪里,这个 web.config 文件在哪里,我怎样才能到达那里?

【问题讨论】:

  • 您使用什么语言/平台开发您的网络应用程序? web.config 文件适用于各种风格的 asp.net。如果您不使用它,您可能正在寻找不同的解决方案。
  • 我使用 PHP 作为后端。如果您不使用 .NET,是否还有其他问题?
  • @Filburt 我去看看,谢谢!

标签: sql-server database-connection connection-string


【解决方案1】:

感谢您的帮助。在研究和尝试了很多事情之后,我找到了一个很好的解决方案,关于如何在 IIS 中使用 PHP 连接我的数据库 SQL Server。

  1. 您需要在您的网站路径中创建一个 Web.config 文件。
  2. 在此 Web.config 文件中粘贴连接字符串,例如

<?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>
  1. 然后创建文件,例如例如同一路径中的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); 
?>
  1. $conn 执行 sql_query()

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多