2017-01-06 48 views
0

我有ASP.net项目与其中的localDB。 数据库文件名是ProjectDB.sdf,我将它放在App_Data文件夹中。将LocalDB连接到ASP.net项目

我的连接字符串是:

<add name="ProjectConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\ProjectDB.sdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 

我尝试使用该数据库在我的CS文件是这样的:

conn.ConnectionString = ConfigurationManager.ConnectionStrings["ProjectConnection"].ConnectionString; 
using(SqlCommand cmd = new SqlCommand()) 
{ 
    cmd.CommandText = "select JobTitleId, JobTitleText from LuJobTitle where JobTitleText like @SearchText + '%'"; 
    cmd.Parameters.AddWithValue("@SearchText", prefix); 
    cmd.Connection = conn; 
    conn.Open(); 

应用落在conn.Open();命令。

该错误消息我得到说:

An attempt to attach an auto-named database for file d:\user\documents\visual studio 2012\Projects\RealMatchSite\RealMatchSite\App_Data\ProjectDB.sdf failed. 
A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. 

我在做什么错?

预先感谢您!

+0

检查这个线程:尝试附加自动命名的数据库(HTTP:/ /stackoverflow.com/questions/12566036/an-attempt-to-attach-an-auto-named-database-for-file-database1-mdf-failed) –

+0

使用SQL Server Express代替 – ErikEJ

回答

0

您的数据库服务器已经有数据库附有该名称,所以你得到的错误。如果不是这种情况,请尝试将其添加到连接字符串中:

User Instance=True 
+0

当我添加“User Instance = True “我得到了这个:”连接到SQL Server的用户实例时不允许用户实例登录标志,连接将被关闭。“我的数据库服务器是本地主机。如何从中删除所有数据库并保留唯一我需要的数据库? –

+0

你有sql mgmt工作室吗?登录并删除它。 – CodingYoshi

0

尝试使用初始目录调用数据库。 我希望这可以帮助。

的connectionString = “数据源=(的LocalDB)\ 11.0;初始目录= ProjectDB;集成安全性=真”

+0

我试了一下,得到了这个错误提示:“无法打开数据库”ProjectDB“登录失败登录失败 用户'User-PC \ User'登录失败。 –

+0

您的服务器密码是否受到保护?如果是这样,请包含ConnString =“数据源=(LocalDB)\ v11.0;初始目录= ProjectDB;持久安全信息= True;用户ID =用户;密码=密码”; – jmag

+0

它目前正在使用您的机器凭证来访问您的数据库。好消息是它找到了数据库并试图访问它。 – jmag