当我尝试向现有数据集添加tableadapter时,我正在Vb.net中开发Winforms应用程序,但出现错误:
无法打开与数据库的连接。“尝试为文件### Filelocation ###附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者该文件位于UNC共享上。” 检查连接,然后重试。
这个相同的数据集还有两个其他的表适配器,它们使用相同的数据连接(因为我正在选择已经存在的数据连接),在使用应用程序连接字符串的情况下,该连接可以正常工作:
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\test.mdf;Integrated
server=localhost;user id=root;password=password;database=testuser;persistsecurityinfo=True
每当我在弹出的第一个窗口中选择数据连接器时,就会弹出此错误。为什么会这样
其他信息:其他2个表适配器已使用另一台计算机添加到此数据集,用于mysql连接
我在MSDN论坛上找到了这篇文章:
尝试附加自动命名的数据库.... \ aspnetdb.mdf失败
建议之一就是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
表所在的数据库的实际名称替换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句