相关疑难解决方法(0)

试图分离附加数据库 - 之后无法访问数据库

我尝试执行以下操作:

  • 分离数据库

  • 将文件复制到临时文件夹

  • 再次附加数据库

这是第一次工作,但是当我尝试从同一个进程第二次运行此方法时,我得到一个错误.我总是可以访问从其他客户端再次附加的数据库,但不能从我的应用程序中访问.

错误是:

"尝试将请求发送到服务器时传输级别错误.(提供程序:共享内存提供程序,错误:0 - 管道另一端没有进程.)",当我尝试从sys.database_files读取数据时新附加的数据库.

该错误是从德语"FehleraufÜbertragungsebenebeimSenden der Anforderung an den Server"翻译而来的.

它发生在"cmdGetDBFileName.ExecuteReader"之后.我仍然可以打开连接,但查询sys.database_files failes.

源代码很长,但我想你可以在开始时跳过这部分,我将db的文件名分离.你看到我的错误或有任何想法我可以检查吗?

public bool DetachB2CPrepare()
        {
            _log.Debug("DetachB2CPrepare");
            SqlConnection prepareDBConnection = null;
            SqlConnection prepareMasterDBConnection = null;
            SqlDataReader readerDbFiles = null;

            bool result = true;
            try
            {
                //rc_b2c_product_prepare.mdf    
                string prepareDBPysicalFileName = "";
                //rc_b2c_product_prepare    
                string prepareDBFileName = "";
                //D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\rc_b2c_product_prepare.mdf
                string prepareDBFileNameComplete = "";

                //rc_b2c_product_prepare_1.ldf  
                string prepareTransactionLogPhysicalFileName = "";
                //rc_b2c_product_prepare_log    
                string prepareTransactionLogFileName = "";
                //D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\rc_b2c_product_prepare_1.ldf
                string prepareTransactionLogFileNameComplete = "";
                _log.DebugFormat("Try to open …
Run Code Online (Sandbox Code Playgroud)

c# ado.net sql-server-2008

5
推荐指数
1
解决办法
1381
查看次数

标签 统计

ado.net ×1

c# ×1

sql-server-2008 ×1