【问题标题】:Failed to generate a user instance of SQL Server未能生成 SQL Server 的用户实例
【发布时间】:2011-10-18 02:36:08
【问题描述】:

我有一个本地项目,我正在尝试将数据从 ASP:textbox 输入到数据库。

在构建时我得到以下...

生成SQL Server用户实例失败。只有集成连接才能生成用户实例。连接将被关闭。

我在这里有点困惑,我检查了数据库,它使用我尝试连接的凭据处于活动状态。

这是后面的代码 C#

    namespace OSQARv0._1
{
    public partial class new_questionnaire : System.Web.UI.Page
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlConnection sqlcon = new SqlConnection(@"user id=*myuserid*;"+"password=*mypassword*;"+"Data Source=mssql.dev-works.co.uk;User Instance=True;"+"Database=devworks_osqar"+"Trusted_Connection=true;");

        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Create_Click(object sender, EventArgs e)
        {
            DataBinder ds = new DataBinder();
            sqlcon.Open();
            SqlCommand sqlcmd = new SqlCommand("INSERT INTO QUESTIONNAIRES (QuestionnaireName) VALUES ('"+qnrName.Text+"')");
            sqlcmd.Parameters.AddWithValue("@Name", qnrName.Text);

            sqlcmd.ExecuteNonQuery();

            sqlcon.Close();
        }
    }
}

任何帮助将不胜感激。

编辑后的代码(阅读下面的评论) C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;

namespace OSQARv0._1
{
    public partial class new_questionnaire : System.Web.UI.Page
    { 
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        private string myConnectionString;
        private SqlConnection myConn;
        public new_questionnaire()
        {
            myConn = new SqlConnection();
            myConnectionString += "Data Source=mssql.database.co.uk; Initial Catalog=devworks_osqar;User ID=myusername;Password=mypassword";
        }

        protected void Create_Click(object sender, EventArgs e)
        {
            //DataBinder ds = new DataBinder();
            SqlCommand sqlcmd = new SqlCommand("INSERT INTO QUESTIONNAIRES (QuestionnaireName) VALUES ('"+qnrName.Text+"')");
            sqlcmd.CommandType = CommandType.StoredProcedure;
            sqlcmd.Parameters.AddWithValue("@Name", qnrName.Text);
            insert(sqlcmd);

        }
        private void insert(SqlCommand myCommand)
        {
            myConn.Open();
            myCommand.ExecuteNonQuery();
            myConn.Close();
        }
    }
}

【问题讨论】:

  • 好的,谢谢您的回复。但是由于数据库是托管的,我相信托管公司会处理用户实例及其配置?我已经调整了后面的代码,但是我现在得到:“无法打开登录请求的数据库“dbName”。登录失败。用户“myusername”的登录失败。”请参阅上面的新代码^^

标签: c# asp.net sql sql-server visual-studio-2010


【解决方案1】:

Fix error "Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance."

以下链接中的内容粘贴和更改,以防将来删除参考站点:

第 1 步。

在您的 SQL Server 安装上启用用户实例 首先,我们要确保我们为 SQL Server 安装启用了用户实例。

转到 SQL Server Management Studio 中的查询窗口并输入:

exec sp_configure 'user instances enabled', 1.
Go
Reconfigure

运行此查询,然后重新启动 SQL Server。

第 2 步。

删除旧文件 现在我们需要删除所有旧的用户实例。 转到您的 C 盘并找到并完全删除此路径(以及其中的所有文件):

C:\Documents and Settings\ YOUR_USERNAME \Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS

(不要忘记将路径中的粗体文本替换为您当前的用户名(如果您不确定,只需转到 C:\Documents and Settings\ 路径即可)。

删除此目录后,您可以转到 Visual Studio,创建 ASP.NET 网站并单击您的 App_Data 文件夹并选择添加新项目,然后选择 SQL Server 数据库,它应该可以工作!!!

【讨论】:

    猜你喜欢
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    相关资源
    最近更新 更多