在应用程序配置中找不到连接名称“SQL”,或者连接字符串为空

时间:2012-09-21 10:13:52

标签: asp.net

我一直看到这个错误:

  

在应用程序中找不到连接名称“SQL”   配置或连接字符串为空。描述:一个   在执行当前Web期间发生了未处理的异常   请求。请查看堆栈跟踪以获取有关的更多信息   错误以及它在代码中的起源。

我知道连接名称“SQL”存在,并且它在我的本地计算机上正常工作。

我在部署服务器上修复了另一个错误后,我开始看到此错误:

  

编译器错误消息:BC31007:无法打开模块文件   'C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files

按照建议的here

设置访问权限

请相信任何帮助。

谢谢!

部署环境:Windows Server 2003,.net 4.0
开发环境:Widows 7,.net 4.0

请注意:部署的应用程序在现场运行良好,持续3个月,直到上周五晚上。

客户端声称服务器或其环境中没有任何内容发生变化。

我的网站配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings>
        <add key="LoginMode" value="2" />
        <add key="CustomeModules" value="True" />
        <add key="TopCallersRefeshInterval" value="600" />
        <add key="OperatorAccountName" value="" />
        <add key="ChartImageHandler" value="storage=file;timeout=20;dir=C:\TempImageFiles\;"/>
    </appSettings>
    <connectionStrings>
        <add name="SQL" connectionString="server=.\SQL2008;database=xxxxxx;uid=xxxxxx;pwd=xxxxxxxxxx;" providerName="System.Data.SqlClient" />
        <add name="SQLCustom" connectionString="server=.\SQL2008;database=xxxxxx;uid=xxxxxx;pwd=xxxxxxxxxx;" providerName="System.Data.SqlClient" />
    </connectionStrings>
    <system.web>
        <httpHandlers>
     <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
    </httpHandlers>
    <pages>
     <controls>
        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
     </controls>
    </pages>
    <compilation debug="true" targetFramework="4.0" explicit="true">
            <assemblies>
                <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
                <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /></assemblies>
        </compilation>
    </system.web>
    <system.webServer>
        <defaultDocument>
            <files>
                                <remove value="login.aspx" />
                <remove value="iisstart.htm" />
                <remove value="default.aspx" />
                <remove value="index.html" />
                <remove value="index.htm" />
                <remove value="Default.asp" />
                <remove value="Default.htm" />
                <add value="home.aspx" />
            </files>
        </defaultDocument>
        <handlers>
            <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </handlers>
    </system.webServer>
</configuration>

4 个答案:

答案 0 :(得分:1)

但是,您是尝试连接到远程数据库(即部署服务器上的数据库)还是本地数据库。

也许有人触及了对数据库的访问权限......

顺便问一下,你是如何修复原始错误的?

答案 1 :(得分:0)

使用.config格式删除每个文件,例如“web.user.config”,但“web.config”。

我希望它有所帮助:)

答案 2 :(得分:0)

清除服务器上的临时文件夹。重新编译,重新部署并查看是否为您修复了它。也:

<connectionStrings>
     <clear />
     <remove name="SQL"/>
     <add name="SQL" 
         connectionString="server=.\SQL2008;database=xxxxxx;uid=xxxxxx;pwd=xxxxxxxxxx;"
             providerName="System.Data.SqlClient" />
      .....
</connectionStrings>

如果不起作用,请尝试远程调试会话:

How to: Set Up Remote Debugging

答案 3 :(得分:-1)

尝试在web.config

中的连接字符串下添加</clear>
connectionStrings>
   <clear />
     <add name="SQL" connectionString="server=.\SQL2008;database=xxxxxx;uid=xxxxxx;pwd=xxxxxxxxxx;" providerName="System.Data.SqlClient" />
      .....
</connectionStrings>