【问题标题】:"system.invalidoperationexception was unhandled" on“system.invalidoperationexception 未处理” on
【发布时间】:2012-09-24 06:38:05
【问题描述】:

我收到“InvalidOperationException 未处理”。 con.Open();然后突出显示。

如果我在 .cs 文件中使用连接字符串,我的应用程序工作正常,但如果我将它放在 web.config 中,则会出现异常。尝试了谷歌上所有可用的东西,但没有运气。

代码

using System.Configuration;
using System.Web.Configuration;

public DataSet GetInvoice()
{
      SqlConnection con = new SqlConnection();
     con.ConnectionString =            WebConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString; 

            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("select * from invoice", con);
            **con.Open();**
            da.Fill(ds);
            con.Close();
            return ds;
        }

Web.config

<connectionStrings>       
    <add name ="MyConnection" connectionString = "Data Source =.\\SQLEXPRESS; AttachDbFilename = C:\\USERS\\SALIL\\DOCUMENTS\\INVOICING.MDF ; Integrated Security = True" providerName="System.Data.SqlClient" />
  </connectionStrings> 

堆栈跟踪:

 at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
   at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
   at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
   at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at WebInvoicing.Invoice.GetInvoice() in C:\WebInvoicing\WebInvoicing\Invoice.cs:line 220
   at WebInvoicing.InvoiceApp.LoadGrid() in C:\WebInvoicing\WebInvoicing\InvoiceApp.aspx.cs:line 124
   at WebInvoicing.InvoiceApp.Page_Load(Object sender, EventArgs e) in C:\WebInvoicing\WebInvoicing\InvoiceApp.aspx.cs:line 13
   at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
   at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

【问题讨论】:

  • 欢迎来到 StackOverflow。显示完整的回溯并不是很有帮助,尤其是因为您没有在代码示例中显示行号。

标签: c#


【解决方案1】:

无需转义 web.config 文件中连接字符串中的斜杠。应该是:

  <connectionStrings>       
    <add name ="MyConnection" 
       connectionString = "Data Source =.\SQLEXPRESS; AttachDbFilename = C:\USERS\SALIL\DOCUMENTS\INVOICING.MDF ; Integrated Security = True" 
       providerName="System.Data.SqlClient" />
  </connectionStrings> 

更多信息请参见Handle backslash in the connection string

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-16
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多