none
新手请教一个C#连接本地SQLEXPRESS数据库的问题,谢谢! RRS feed

  • 问题

  • VS2010中C#代码如下:

    SqlConnection conn = new SqlConnection("server=./SQLEXPRESS;database=TestDB;uid=sa;pwd=Pass2312");
                SqlDataAdapter sda = new SqlDataAdapter("select * from tb_User", conn);
                DataSet ds = new DataSet();
                sda.Fill(ds, "user");

    编译运行出现如下错误:

    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

    而我用SQL Server Management Studio以sa可以登录.\SQLEXPRESS,而且打开了“允许远程连接到此服务器”

    详细错误信息如下:

    未处理 System.Data.SqlClient.SqlException
      Message=在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
      Source=.Net SqlClient Data Provider
      ErrorCode=-2146232060
      Class=20
      LineNumber=0
      Number=3
      Server=""
      State=0
      StackTrace:
           在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
           在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
           在 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
           在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
           在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
           在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
           在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
           在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
           在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
           在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
           在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
           在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
           在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
           在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
           在 System.Data.SqlClient.SqlConnection.Open()
           在 System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
           在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
           在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
           在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
           在 CopyToDataTable方法.Form1.Form1_Load(Object sender, EventArgs e) 位置 D:\test\C#开发技术大全\sl\24\24_05\CopyToDataTable方法\CopyToDataTable方法\Form1.cs:行号 25
           在 System.Windows.Forms.Form.OnLoad(EventArgs e)
           在 System.Windows.Forms.Form.OnCreateControl()
           在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
           在 System.Windows.Forms.Control.CreateControl()
           在 System.Windows.Forms.Control.WmShowWindow(Message& m)
           在 System.Windows.Forms.Control.WndProc(Message& m)
           在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
           在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
           在 System.Windows.Forms.Form.WmShowWindow(Message& m)
           在 System.Windows.Forms.Form.WndProc(Message& m)
           在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           在 System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
           在 System.Windows.Forms.Control.SetVisibleCore(Boolean value)
           在 System.Windows.Forms.Form.SetVisibleCore(Boolean value)
           在 System.Windows.Forms.Control.set_Visible(Boolean value)
           在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           在 System.Windows.Forms.Application.Run(Form mainForm)
           在 CopyToDataTable方法.Program.Main() 位置 D:\test\C#开发技术大全\sl\24\24_05\CopyToDataTable方法\CopyToDataTable方法\Program.cs:行号 18
           在 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           在 System.Threading.ThreadHelper.ThreadStart()
      InnerException:

    谁能告诉我如何解决,谢谢!

    • 已移动 Sheng Jiang 蒋晟 2012年8月19日 1:09 SQL Server连接问题 (发件人:Visual C#)
    2012年8月18日 8:45

答案

全部回复