mdb文件无法关闭,无法删除

hflkl1314 2008-08-24 08:37:42
为什么我用一下代码建立的 NewMDB.mdb的时候 NewMDB.mdb会有一个NewMDB.ldb文件存在。
要怎么样才可以创建NewMDB.mdb完成后,NewMDB.mdb是关闭状态的。
using System;
using ADOX;
namespace ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=D:\\AccessDB\\NewMDB.mdb;" +
"Jet OLEDB:Engine Type=5");
Console.WriteLine("Database Created Successfully");
cat = null;
}
}
}

在c# winform中,第一次运行,程序中删除已经存在的MDB(此时的mDB没有ldb文件),再创建mdb,创建成功,没有产生ldb。
第二次再点按钮 程序中删除已经存在的MDB(此时的mDB没有ldb文件),再创建mdb,创建成功,但是产生ldb文件。

当第三次再点的时候,删除文件就出错了,说文件正在使用中。



如果用conn.open()这个形式去访问MDB
然后再 conn.Close()这个形式关闭,是不起作用啊。
怎么办 大家帮帮我
...全文
460 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hflkl1314 2008-08-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhulinghappy 的回复:]
引用 3 楼 hflkl1314 的回复:
我没链接的数据库,只有建立MDB 但是 建立MDB的同时 会有一个ldb生成
这个应该表示的是mdb在使用吧?


我的怎么没有ldb文件呢?
[/Quote]

不会吧 我叫我好几个同事 运行了 都有这个ldb

你运行个几次看看 ,运行一次 有的时候是没的,太奇怪了
zhulinghappy 2008-08-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hflkl1314 的回复:]
我没链接的数据库,只有建立MDB 但是 建立MDB的同时 会有一个ldb生成
这个应该表示的是mdb在使用吧?
[/Quote]

我的怎么没有ldb文件呢?
hflkl1314 2008-08-24
  • 打赏
  • 举报
回复
cat.Create返回的是什么system.__comobject
用Microsoft.VisualBasic.Information.TypeName(objWindow.Object) 最后得到是Connection

不知道怎么转换了
hflkl1314 2008-08-24
  • 打赏
  • 举报
回复
返回的是 system.__comobject 啊
不懂了
sunshine_anycall 2008-08-24
  • 打赏
  • 举报
回复
你看下cat.Create这就返回的是什么
如果有返回值,接受并利用这个值进行关闭
coolbaby1984 2008-08-24
  • 打赏
  • 举报
回复
仅仅关闭是不管用的
即使关闭了 但是你的程序还是和对应的数据库相关联 是无法删除 分离的
通过代码怎么删 我不清楚
只是知道无法删除的原因
可以从 数据库工具上删除的时候 选中 断开所有应用连接 就可以了

可能 也就是只有在断开连接的时候才能确保数据库没有被适应吧
仅仅关闭是不够的
hflkl1314 2008-08-24
  • 打赏
  • 举报
回复
同时再说明一点

Connection我一开始就是 close Dispose的
hflkl1314 2008-08-24
  • 打赏
  • 举报
回复
我没链接的数据库,只有建立MDB 但是 建立MDB的同时 会有一个ldb生成
这个应该表示的是mdb在使用吧?

walkingmu 2008-08-24
  • 打赏
  • 举报
回复
用完请dispose……
Connection不是close就了事的,还得Dispose
hflkl1314 2008-08-24
  • 打赏
  • 举报
回复
无语,
td定时备份,td定时数据备份,文件定时备份,testdirector定时备份,testdirector定时数据备份,testdirector备份工具,文件备份工具,testdirector定时备份工具,文件定时备份工具。 【要求】:操作系统必须安装WINRAR压缩软件,并保存配置时选择WINRAR.EXE所在目录 需要系统启动后自动启动,请自行加入到系统开始菜单的启动底下 [备份] 1.备份前停止mssqlserver服务net.exe stop mssqlserver 2.备份C:\Program Files\Common Files\Mercury Interactive\DomsInfo\doms.mdb 3.备份C:\Program Files\Microsoft SQL Server\MSSQL\Data中的对应项目*.mdf文件和*log.ldf文件 4.备份td_dir\Default目录中的对应项目目录 5.备份完成后启动mssqlserver服务net.exe start mssqlserver 6.net.exe在目录C:\WINDOWS\system32\net.exe [还原] 【操作系统未重装】:反向操作,覆盖备份的所有文件,覆盖前停止mssqlserver服务 【操作系统重装】: 1.安装td系统,并配置(安装步骤网络上到处都是) 2.打开C:\Program Files\Common Files\Mercury Interactive\DomsInfo\doms.mdb数据库文件,密码是tdtdtd 3.打开备份的doms.mdb数据库文件 4.把备份数据库中USERS表中的所有数据复制到新doms.mdb数据库的USERS表中,并把现有的doms.mdb数据库SEQUENCES表中的USER_SEQ字段值改为USERS表中USER_ID最大值+1,关闭所有数据库文件 5.访问td,打开管理员界面,创建项目(其他配置建议先配置好) 6.停止mssqlserver服务 7.把备份的*.mdf文件和*log.ldf文件覆盖到C:\Program Files\Microsoft SQL Server\MSSQL\Data中(若项目名称不一致,则删除C:\Program Files\Microsoft SQL Server\MSSQL\Data目录的*.mdf文件和*log.ldf文件,然后拷贝备份的*.mdf文件和*log.ldf文件,并改名为新项目名) 8.覆盖td_dir\Default的项目文件,但不要覆盖Dbid.ini文件 9.重启操作系统。OK,还原完毕。 【自动邮件发送邮件配置】 1.建议通过IIS中的SMTP虚拟邮件服务 2.其他配置说明参考网络文档 3.邮件协议选择SMTP SERVER 【XP下IIS5.0】 1.打开,控制面板 - 管理工具 - Internet 信息服务 - SMTP 虚拟服务器右键属性 2.常规:选择IP地址 3.访问 - 中继限制 - 中继...:选择仅一下列表除外 4.传递 - 出站安全性:若目的服务器不验证,则选择匿名访问;若需要验证则选择基本身份验证,账号和密码配置为邮箱的账号和密码 5.td管理页面中的邮件协议选择SMTP SERVER,并设置为SMTP 虚拟服务器中的域名 6.重启SMTP 虚拟服务器 【2003下的IIS6.6】 1.打开,Internet 信息服务 管理器 - SMTP 虚拟服务器右键属性,配置参考XPIIS5.0 2.打开,Internet 信息服务 管理器 - SMTP 虚拟服务器 - 域,右键新建域 3.选择远程 4.打开新建域的属性,勾上允许将传入的邮件中转到此域,并配置出站安全性,参考XPIIS5.0出站安全性配置,最后配置路由域为将所有邮件中转到中转主机,并配置为目的服务器域名或IP,确认 5.td管理页面中的邮件协议选择SMTP SERVER,并设置为SMTP 虚拟服务器的IP,IP地址不能为127.0.0.1,而是分配的IP 6.重启SMTP 虚拟服务器
源码简介: 1:整站全部生成html,易于搜索引擎收录 2:全后台化管理,操作简单 3:新站登陆功能 4:密码md5加密 5:后台登陆验证码识别 6:后台美化 7:新站登陆验证码识别 8:网站信息设置:网站名称,网站地址,站长邮箱等 9:无需修改任何网页,安装更为简单 10:网站信息后台设置 11:优化后台管理 12:网站推荐 13:模板后台管理 14:网站维护时可设置关闭“新站登陆”功能 15:可修改后台管理目录 16:分类目录、分类页文件名后台修改 17:网站安装目录调用标签 18:网址分类集合调用标签 19:服务器信息或组件查询 20:将网址分类从页面式修改为目录式,更适宜搜索引擎收录 21:所有删除增加2次确认,防止误操作 22:采用新的网站审核机制 23:类别合并功能 24:重复域名禁止登陆功能 25:“实用酷站”管理 演示:http://www.j1qj.com 下载:http://www.j1qj.com/down/ 安装方法: 1:将源码全部上传到网站空间,进入后台管理页面 2: 点击“网站信息管理”,修改网站信息 3:点击“生成html管理”,生成网站页面 4:后台管理登陆页:admin/ 5:后台管理 帐号:admin 密码:123456 注:如果你是用本地IIS访问的话有可能将无法生成html建议上传到空间 部分文件和目录介绍: data/j1qj.mdb 主站数据库文件 conn.asp 主站数据库连接文件 login.asp 新站登陆页 admin/ 后台管理目录,建议修改
User Access Admin修改版: 1.注册费用请联系57162399@163.COM; 2.如果中文字都变成小方块,解决方案:打开任一个数据库或新建一数据库,在工具/选项/视图里将双字体支持中将使用替代字体打勾并选宋体。如果中文不太好在选项里选用E文; 3.新增帮助文件; 4.选项里新增界面等选项; 5.本程序的“让空闲用户登出”、“发送管理信息”的用法: 第一步:打开解压后文件夹中的“ZJLAdminSample2000.mdb”(本数据库应是你的ACCESS程式前端界面,只要将这里的项目导入到你的前端程式就可以同样使用),删除其中的两个链接表“ZJL_AdminMessage”、“ZJL_IdleLogout”; 第二步:单击菜单文件获取外部数据链接表,然后从当前文件夹中将后端数据库“ZJLAdminSample2000_be.mdb”(只要将你的后端数据库里加上这两个表就可以使用到你自已的程序里)中的两个表都链接过来。 第三步:关闭“ZJLAdminSample2000.mdb”(前端界面) 第四步:打开“User Access Admin.mdb”,就可以在“打开数据库”中选取打开“ZJLAdminSample2000_be.mdb”(后端数据库)。 这时就可以重新打开“ZJLAdminSample2000.mdb”(前端界面),并在“User Access Admin.mdb”上启用“让空闲用户登出”(选取后,如果“ZJLAdminSample2000.mdb”在规定时间内没有用户使用就会自动关闭,这里默认一分钟,可以自定义,也可以在退出前自定义提示对话框等)、“发送管理信息”(启用后就可以发送一些信息给所有正在使用前端程序的用户,发送后前端会自动弹出对话框) 本程式的示例代码只是间单的自动退出演示,如果要结合到你已有的程式中去共同使用,你可以改写代码以便可以控制某种情况下不可以退出,以及退出前给予一定的时间准备等。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧