【发布时间】:2011-10-15 02:43:23
【问题描述】:
我遇到了一个问题,同时也学到了一些东西....
我从现有的服务器数据库创建了一个 DBML。
我想从 DBML 创建本地数据库(一个 .mdf 文件)。我创建了数据库 using DataContext.CreateDatabase("C:\xxxx.mdf") 。
然后我决定删除它(手动,这显然是一件坏事),因为当我尝试重新创建具有相同名称的数据库时(即使文件已被删除),我收到错误 Database already exists。使用 CreateDatabase() 选择不同的名称
我尝试查看注册表,但没有运气...我尝试在整个硬盘驱动器中搜索文件...没有运气。
谷歌搜索后,我发现你删除了一个用CreateDatabase()和DeleteDatabase()...创建的数据库。然后你可以重新创建数据库。
问题是,现在我仍然无法重新创建旧数据库,因为系统认为该名称已经存在。
有没有办法摆脱“不存在”的旧数据库文件的残余
【问题讨论】:
-
当您手动删除它时,您是否同时删除了 mdf 和 ldf?另外,现在调用 DeleteDatabase() 时会出现什么错误?
-
当我尝试 DeleteDatabase() 时,我得到这个:System.Data.SqlClient.SqlException: 尝试为文件 C:\xxxx.mdf 附加自动命名的数据库失败。存在同名数据库,或指定文件无法打开,或位于 UNC 共享上..