【问题标题】:ASP.NET Website failure - DataAccessLayer threw an exceptionASP.NET 网站失败 - DataAccessLayer 引发异常
【发布时间】:2012-09-27 05:21:42
【问题描述】:

我有一个托管在 GoDaddy 上的 ASP.NET 4.0 网站,该网站有一个数据库。我的网站不会出现。我认为这是我的数据库连接 -

我的连接字符串 -

  <connectionStrings>
    <add name="Personal" connectionString=" Server=xyz.com; Database=xyzDb; User ID=xyzUser; Password=xyzPass; Trusted_Connection=false" providerName="System.Data.SqlClient" />
    <remove name="LocalSqlServer"/>
    <add name="LocalSqlServer" connectionString=" Server=abc.com; Database=abcDb; User ID=abcUser; Password=abcPass; Trusted_Connection=false" providerName="System.Data.SqlClient" />
  </connectionStrings>

来自我页面的错误 -

异常详细信息:System.NullReferenceException:没有对象引用 设置为对象的实例。

来源错误:

在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪:

[NullReferenceException: 对象引用未设置为 对象。] FonyFacts02.DataAccessLayer..ctor() +74
FonyFacts02.DataAccessLayer..cctor() +39

[TypeInitializationException: 的类型初始化器 'FonyFacts02.DataAccessLayer' 抛出异常。]
FonyFacts02.DataAccessLayer.GetInstance() +0
FonyFacts02.FonyFacts..ctor() +34
FonyFacts02.Default.Page_Load(Object sender, EventArgs e) +99
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,对象 o,对象 t,EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(对象发送者, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint) +2207

谁能告诉我这实际上是我的连接字符串还是其他什么? 该网站位于-http://www.fonyfacts.com/ 谢谢

【问题讨论】:

  • 不要在线透露您的数据库信息 - 用虚拟字符填充这些属性。
  • 只需调试您的代码并向我们展示错误的确切原因

标签: asp.net connection-string


【解决方案1】:

您不应覆盖 LocalSqlServer 连接字符串名称。它在 machine.config 文件中定义,并且由于某种原因具有特殊含义,使其成为您不能使用的仅有的两个名称之一(LocalMySqlServer 是另一个名称,也在 machine.config 中定义)。为您的连接字符串选择任何其他名称。

另外,您在连接字符串中缺少数据源属性,但我确定这是您的屏蔽步骤造成的。

【讨论】:

  • 谢谢龙。你是说我需要删除 - &lt;remove name="LocalSqlServer"/&gt;&lt;add name="LocalSqlServer"... 部分吗?
  • 对连接字符串使用不同的名称。如果选择唯一名称,则不需要“删除”行。
【解决方案2】:

我认为您在连接字符串中传递了一些错误的值...

服务器应该是这样的

server=xpode.db.4563273.hostedresource.com

我的网站也在那里...并且使用相同的连接。请验证您的数据库凭据

谢谢,
罗希特
xpode.com

【讨论】:

  • 谢谢罗希特!我确实有那个 server= 部分。有人编辑了我的帖子,然后不小心把它拿出来了(他们不喜欢我在帖子中有我的实际服务器名称)。您的 web.config 中是否有两个部分进行 LocalSqlServer 的删除和添加?
猜你喜欢
  • 2015-08-18
  • 2016-05-12
  • 2020-03-23
  • 2011-12-09
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多