如何使用ASP.NET连接到MSSQL Express

时间:2014-08-26 06:18:14

标签: c# asp.net .net sql-server

我有一个应用程序 - 从visual studio 2010创建 - 我有一个专用服务器。服务器的操作系统是Windows Server 2003.我的Web应用程序正在使用Visual Studio的localhost和我的IIS localhost。但是当我将它发布到服务器时,它给了我这个错误。

Login failed for user 'sa'. 


Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'sa'.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[SqlException (0x80131904): Login failed for user 'sa'.]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5066458
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275
   System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) +183
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +239
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +195
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +232
   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) +33
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +524
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +479
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +108
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126
   System.Data.SqlClient.SqlConnection.Open() +125
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +123
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +319
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +94
   BerksanWebSite.Default2.Page_Load(Object sender, EventArgs e) in C:\Users\tekizer\documents\visual studio 2010\Projects\BerksanWebSite\BerksanWebSite\Default2.aspx.cs:94
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1022

这是我在web.config文件中的connectionstring标记

 <connectionStrings>
    <add name="websitesiConnectionString" connectionString="Server=xx.xxx.xxx.xxx; Database=websitesi;User ID=xxxx;Password=xxxxxx;"/>

  </connectionStrings>

我创建了一个类文件来调用c#代码的连接字符串。所以这是c#class中的c#连接变量。

private static string connectionstring_ = "Server=xx.xxx.xxx.xxx; Database=websitesi;User ID=xxxx;Password=xxxxxx;";

我从我的c#页面调用它来连接我的数据库在专用服务器上。

SqlConnection baglanti = new SqlConnection(berksanproje.connectionstring);
if(baglanti.State!=ConnectionState.Open)
{
baglanti.Open();
}

在我的专用服务器的ASP.NET Web应用程序属性中 ASP.NET版本4.0.30319 当我单击编辑配置并单击常规选项卡时,它会给出:

LocalSqlServer : Data Source=.\SQLEXPRESS;Initial Catalog=berksanwebsitesi;Integrated Security=True;

websitesiConnectionString : Server=xx.xxx.xxx.xxx; Database=websitesi;User ID=xxxx;Password=xxxxxx;

我可以通过MSSQL通过远程连接从我的计算机连接到我的数据库。但是在我发布之后我无法连接我的aspx页面。有没有办法将我的数据库与asp.net连接

注意:我不写任何地方与用户sa连接。我不使用它。

2 个答案:

答案 0 :(得分:1)

我将Windows Server 2008安装到我的专用服务器上。然后在使用Management studio安装.NET Framework 4.0和MSSQL Server 2008 R2 Express之后,我的系统正在运行。

答案 1 :(得分:0)

您似乎必须使用Windows身份验证,或者您没有sa用户,

我假设您使用Windows身份验证进行连接,因此请更改所有连接字符串,如下所示:

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

有关详细信息,请参阅此link,您的案例可能不需要Windows身份验证,因此请检查链接并找到适合您的连接字符串