【发布时间】:2019-02-21 04:31:56
【问题描述】:
我最近的项目有点问题。我的 web.config 中有一个连接字符串,但我想在我的 sql 特定类中访问它。
我的连接字符串是这样的:
“数据源=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-Joblication-20180902120147.mdf;Integrated Security=True”
它存储在我的 web.config 文件中。
我的问题是默认的 asp.net 函数可以访问这个数据库,但我想在数据库中存储其他数据,所以我尝试使用 SqlConnection 类访问它。我设置了 SqlConnection 对象的 ConnectionString 属性:
SqlConncetion connection = new SqlConnection()
connection.ConnectionString = "Data Source=(LocalDb)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\aspnet-Joblication-20180902120147.mdf;Integrated Security=True";
但我每次都会收到此错误:
System.Data.SqlClient.SqlException: '试图附加一个自动 文件 *.mdf 的命名数据库失败。存在同名数据库,或指定文件无法打开,或位于 UNC 共享上。'
我将 mdf 文件的名称替换为“*”,因此它更短且易于阅读。
如果我理解这一点,那么我的 .mdf 文件已经附加到 MSSQLLocalDB,所以我应该连接到 MSSQLLocalDB 并且我应该能够以某种方式访问 .mdf 文件,对吧?
当我尝试这个时:
connection = new SqlConnection();
connection.ConnectionString = "Data Source=(LocalDb)\\MSSQLLocalDB;Integrated Security=True";
那么它似乎没问题,因为连接现在正在工作,但我的查询没有。我的查询正在尝试从 .mdf 文件的表中获取数据,但在此连接中未指定 .mdf 文件。
那么我该如何指定呢?
【问题讨论】:
-
哦...我找到了指定数据库的方法。我在 ConnectionString 属性中添加了初始目录,但现在它无法让我登录。你知道我该如何登录吗?我认为默认情况下它是基于 Windows 身份验证的,但我不确定......如果有任何帮助,我将不胜感激。
-
您的连接字符串中有
Integrated Security=True? -
是的。在我的连接字符串中集成安全性是正确的。
-
最新的错误信息是什么?请分享一下好吗?
-
System.Data.SqlClient.SqlException: '无法打开登录请求的数据库 "aspnet-Joblication-20180902120147.mdf"。登录失败。用户“DESKTOP-BIDR6TV\gomis96”登录失败。
标签: c# asp.net asp.net-mvc