以下代码示例在某些PC上随机失败。在其他PC上,问题不能被复制。所有PC都在Vista SP1上运行.NET 3.5 SP1。LINQ无法创建数据库
string connection = @"Data Source=PCNAME\SQLEXPRESS;Database=TestDatabase ;User Id=sa;Password=ThePassword;";
TestDatabase db = new TestDatabase (connection);
if (!db.DatabaseExists())
{
db.CreateDatabase();
}
DatabaseExists()
返回false
但CreateDatabase()
抛出这个异常:
System.Data.SqlClient.SqlException: 数据库 'TestDatabase' 已经存在 。选择不同的数据库 名称。
该文档指出,如果数据库存在并且可以打开,DatabaseExists()
返回true。
什么可能导致数据库不可用?
编辑:数据库服务器的SQL Server Express 2008
奇怪的是,问题出现在某些机器上。即有一次它未能成功。 – Fedearne 2010-10-21 11:55:16
这是在你的代码的连续执行,没有做任何事情(我的意思是什么)之间?如果是这样,那确实很奇怪。 – Lazarus 2010-10-21 11:59:46
我在应用程序启动过程中执行操作。如果我得到错误 - 我只是重新启动应用程序,我通常立即工作。 – Fedearne 2010-10-21 12:11:13