我做了个WINFORM程序,里面有个DataGridView,可以获取SQL数据库的数据,并显示出来。现在想做个数据库备份功能,就是对数据库文件MDF和LDF两个文件进行拷贝操作,但只要WINFORM程序一开始运行,对这个文件的读取 FileStream fs = File.OpenRead(文件路径);这句话就会出IO异常:正由另一进程使用,因此该进程无法访问此文件。但只要关了WINFORM,就可以对他目录下的数据库文件随便复制粘贴了。麻烦大家帮忙想想办法,在不关闭WINFORM前提下对那两个数据库文件进行复制操作。
解决方案 »
- 在派生类的无参数构造函数中显示调用基类的带参数构造函数
- 一句话从IEnumerable<sting>到IDictionary<string,string>
- 使用Ext.ajax.request()查询数据库的值 然后赋值给表单的文本框???
- 服务方式程序发布
- Winform 里面怎么让获取的HTML码不变
- 怎么让comboBox随窗体拉长缩小?
- 使用C#实现从本机向服务器某文件夹下拷贝文件如何实现?
- 高手来,数据连接字符串问题,急(在线等)
- datagrid问题!为什么单击删除和修改按钮后,数据全部消失?检查程序也没有错。
- 那位兄台知道MSFlexGrid1.AddItem (string item,object index);中的 object index是什么?
- C# DataTable 纵表转横表
- VS2010中关于水晶报表CryStal Reports的使用
static void Main()
{
FileCopy.CopyDir();
bool bCreatedNew;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Mutex m = new Mutex(false, "Fly", out bCreatedNew);
if (bCreatedNew)
{
Application.Run(new MainForm());
}
}FileCopy.CopyDir()这个方法就是复制数据库文件到另一个地方,也会出现同样错误,试了好多方法,都不管用。
要想进行“复制”操作 应该先分离数据库吧?
lz你在使用者数据库的同时还想进行这种操作,应该是不行的吧
你打开着一个Word文件,对这个文件也是不能进行这个操作的吧
这个不能吧,还没分离不会让你随便拷的。可以用sql语句备份数据库啊 生成bak文件
BACKUP DATABASE 数据库名称 TO DISK = 'c:\数据库备份.bak'
没有表就建立个 简单的sql语句全部搞定 干嘛搞这么复杂?解决不了绕过去
这种情况是绝对不允许的。
否则还是Backup-Restore大法吧。我觉得这样设计是合理的,因为复制文件总会有时间差,这个时间差内要如何保证数据信息和日志信息是绝对一致的呢?貌似也只能停服务了。
在你的程序中 通过第三方库,直接由SQL语句分离你的目标数据库,完后复制到 你所谓的备份处
然后再执行Sql语句 把你的库在给附加上变态的需要往往要用变态的方法来搞
意思是把数据复制到内存.断开链接.备份.重新链接.