我正在Vb.net中开发一个winforms应用程序 当我尝试将tableadapter添加到现有数据集时,我收到错误:
无法打开与数据库的连接。 "尝试为文件### Filelocation ###附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。"检查连接,然后重试。
这个相同的数据集有2个其他tableadapter使用相同的dataconnection(因为我选择已经存在的dataconnection)工作正常 此连接正在使用应用程序连接字符串:
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\test.mdf;Integrated
server=localhost;user id=root;password=password;database=testuser;persistsecurityinfo=True
每次在弹出的第一个窗口中选择dataconnector时,都会弹出此错误。 为什么会发生这种情况
其他信息: 其他2个tableadapter使用不同的计算机添加到此数据集中 这是为了一个mysql连接
答案 0 :(得分:0)
该文件是.mdf文件,因此它是一个mssql文件
我的猜测是,正如你所说的你使用的是mysql,连接字符串必须有点不同,因此数据集无法连接到Mysql
答案 1 :(得分:0)
尝试将User Instance=True;
添加到连接字符串。
答案 2 :(得分:0)
我在MSDN论坛上发现了这篇文章:
An attempt to attach an auto-named database ....\aspnetdb.mdf failed
其中一项建议是DonBoitnott先生正确地说,添加User Instance=True;
。 但是,还有Luke A发布的另一个建议。
“为了记录,在尝试修复此问题的过程中,没有给我一个错误消息与实际问题相关。首次收到”试图附加一个自动命名的数据库... “我在网上查找了我能找到的每个建议:使用MDF的绝对路径,在服务器配置中重新排序TCP / IP和命名管道,禁用/启用UserInstance(取决于您查看的位置),更改安全设置,重新配置身份验证,提供特定的登录凭据。
这些都没有奏效。所有这些导致了不同的模糊/模糊的错误消息,这导致另一个问题,需要一个解决方案,导致回到原始的错误消息......无休止的问题循环,完全与实际错误无关。
_此外,关于在App_Data文件夹上设置正确权限的帖子具有欺骗性,因为它们暗示默认权限对于SQL Express来说是不够的(事实上,它们是)。这个VS环境的重点在于您可以开发一个Web应用程序并将其直接放到IIS / SQLExpress设置上并使其正常工作。这使得应用程序更具可移植性(当然在IIS中)并且安全。当然,与配置相关的所有内容都已被混淆到足以使其比以前难以实现几个数量级。“_
所以:尝试将Initial Catalog=uniquenamehere
添加到您的连接字符串中。
虽然他说 "... where 'uniquenamehere' is some name for your project."
,但请尝试将uniquenamehere
替换为表所在的数据库的实际名称。