VS2010连接数据库问题

时间:2020-12-17 21:51:22
最近在做ASP.NET实训。常识在ADO.NET连接数据库,但是连不上,代码如下:
 protected void Button1_Click(object sender, EventArgs e)
    {
       SqlConnection lin = new SqlConnection();
        lin.ConnectionString = "Data Source=SLEEPYBEAR-PC;Integrated Security=SSPI;Initial Catalog=Library";
         lin.Open();//报错语句
        Label1.Text="连接成功";
        lin.Close();
        lin.Dispose();
    }
数据库命,服务器命都没错,但是连接时就出现:
“/WebSite1”应用程序中的服务器错误。
--------------------------------------------------------------------------------

用户 'SleepyBear-PC\SleepyBear' 登录失败。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 用户 'SleepyBear-PC\SleepyBear' 登录失败。

源错误: 


行 17:         SqlConnection lin = new SqlConnection();
行 18:         lin.ConnectionString = "Data Source=SLEEPYBEAR-PC;Integrated Security=SSPI;Initial Catalog=Library";
行 19:         lin.Open();
行 20:         Label1.Text="连接成功";
行 21:         lin.Close();
 

源文件: d:\VS Project\WebSites\WebSite1\Default.aspx.cs    行: 19 

堆栈跟踪: 


[SqlException (0x80131904): 用户 'SleepyBear-PC\SleepyBear' 登录失败。]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4856551
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1121
   System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +144
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +340
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +225
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +431
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
   System.Data.SqlClient.SqlConnection.Open() +122
   _Default.Button1_Click(Object sender, EventArgs e) in d:\VS Project\WebSites\WebSite1\Default.aspx.cs:19
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.5444; ASP.NET 版本:2.0.50727.5420 
错误!求大虾指教!

19 个解决方案

#1


VS2010连接数据库问题

#2



连接自符串有问题。。。

Data Source=.; 试试。。

#3


连接字符串:Data Source=.;Initial Catalog=你的数据库名;User ID=sa;Password=

#4


你选择了SQL Server用户认证模式:Integrated Security=SSPI
就应该在连接串中为其提供用户名和密码的吧: "uid=xxx; pwd=xxxx;"

#5


用户 'SleepyBear-PC\SleepyBear' 登录失败

本地帐户登陆失败 换个连接字符串看看

server=.;database=Library;uid=sa;pwd=sa

#6


用的WINDOWS验证!不是SQL用户验证!

#7


难道我验证错了?书上貌似就是SSPI的波!

#8



 protected void Button1_Click(object sender, EventArgs e)
  {
  SqlConnection lin = new SqlConnection();
  lin.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=Library;server=SLEEPYBEAR-PC;";
  lin.Open();//报错语句
  Label1.Text="连接成功";
  lin.Close();
  lin.Dispose();
  }

#9


"Data Source=(local);Database=数据库名;Uid=sa;Pwd=5354"

#10


现在问题好像是用户登陆不上,用数据绑定控件都无法现实数据源!

#11


现在问题好像是用户登陆不上,用数据绑定控件都无法现实数据源!

#12


引用 2 楼 porschev 的回复:
连接字符串有问题。。。
Data Source=.; 试试。。

对试下

#13


没有加登陆信息  加上UserID,Password试试

#14


把服务器名换成"."

#15


说的好清楚...

如果楼主真的打算使用集成身份验证,就在sql server里添加一个登录(windows),授予'SleepyBear-PC\SleepyBear' 用户访问Library数据库的权限

但正常情况下,还是用混合身份验证比较好,也就是 "Data Source=SLEEPYBEAR-PC;uid=xxx;pwd=xxx;Initial Catalog=Library";

#16


更改为混合身份验证再试

#17


引用 6 楼 pyffcwj 的回复:
用的WINDOWS验证!不是SQL用户验证!


你提供的连接串里,integrated security = sspi,这就是说对于这个连接,使用SQL Server验证。

如果你目前只是连接问题,建议你采用.UDL文件解决。

在桌面上新建一个文本文件,比如conn.txt,然后把扩展名修改为udl,变成conn.udl,然后双击打开conn.udl,按提示进行连接的配置,最后测试连接成功后,用文本编辑器打开conn.udl,里面就是连接串了。

#18


引用 15 楼 amandag 的回复:
说的好清楚...

如果楼主真的打算使用集成身份验证,就在sql server里添加一个登录(windows),授予'SleepyBear-PC\SleepyBear' 用户访问Library数据库的权限

但正常情况下,还是用混合身份验证比较好,也就是 "Data Source=SLEEPYBEAR-PC;uid=xxx;pwd=xxx;Initial Catalog=Library"……


就这个,不用再多说了

#19


额 表示数据库一直连接不是 !

#1


VS2010连接数据库问题

#2



连接自符串有问题。。。

Data Source=.; 试试。。

#3


连接字符串:Data Source=.;Initial Catalog=你的数据库名;User ID=sa;Password=

#4


你选择了SQL Server用户认证模式:Integrated Security=SSPI
就应该在连接串中为其提供用户名和密码的吧: "uid=xxx; pwd=xxxx;"

#5


用户 'SleepyBear-PC\SleepyBear' 登录失败

本地帐户登陆失败 换个连接字符串看看

server=.;database=Library;uid=sa;pwd=sa

#6


用的WINDOWS验证!不是SQL用户验证!

#7


难道我验证错了?书上貌似就是SSPI的波!

#8



 protected void Button1_Click(object sender, EventArgs e)
  {
  SqlConnection lin = new SqlConnection();
  lin.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=Library;server=SLEEPYBEAR-PC;";
  lin.Open();//报错语句
  Label1.Text="连接成功";
  lin.Close();
  lin.Dispose();
  }

#9


"Data Source=(local);Database=数据库名;Uid=sa;Pwd=5354"

#10


现在问题好像是用户登陆不上,用数据绑定控件都无法现实数据源!

#11


现在问题好像是用户登陆不上,用数据绑定控件都无法现实数据源!

#12


引用 2 楼 porschev 的回复:
连接字符串有问题。。。
Data Source=.; 试试。。

对试下

#13


没有加登陆信息  加上UserID,Password试试

#14


把服务器名换成"."

#15


说的好清楚...

如果楼主真的打算使用集成身份验证,就在sql server里添加一个登录(windows),授予'SleepyBear-PC\SleepyBear' 用户访问Library数据库的权限

但正常情况下,还是用混合身份验证比较好,也就是 "Data Source=SLEEPYBEAR-PC;uid=xxx;pwd=xxx;Initial Catalog=Library";

#16


更改为混合身份验证再试

#17


引用 6 楼 pyffcwj 的回复:
用的WINDOWS验证!不是SQL用户验证!


你提供的连接串里,integrated security = sspi,这就是说对于这个连接,使用SQL Server验证。

如果你目前只是连接问题,建议你采用.UDL文件解决。

在桌面上新建一个文本文件,比如conn.txt,然后把扩展名修改为udl,变成conn.udl,然后双击打开conn.udl,按提示进行连接的配置,最后测试连接成功后,用文本编辑器打开conn.udl,里面就是连接串了。

#18


引用 15 楼 amandag 的回复:
说的好清楚...

如果楼主真的打算使用集成身份验证,就在sql server里添加一个登录(windows),授予'SleepyBear-PC\SleepyBear' 用户访问Library数据库的权限

但正常情况下,还是用混合身份验证比较好,也就是 "Data Source=SLEEPYBEAR-PC;uid=xxx;pwd=xxx;Initial Catalog=Library"……


就这个,不用再多说了

#19


额 表示数据库一直连接不是 !

#20