之前同事遇到了如标题所说的问题,代码是网上复制的,如下
ADOX.Catalog catalog = new Catalog();
ADODB.Connection cn = new ADODB.Connection();catalog.Create(("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ path +";Jet OLEDB:Engine Type=5"));
cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath, null, null, -1);
catalog.ActiveConnection = cn;//操作代码省略
//Com组件释放代码省略
发现有一个问题就是,catalog实例调用Create()函数,后会发现该实例的ActiveConnection不为null,
但是请注意这一句代码:
catalog.ActiveConnection = cn;
原本的ActiveConnection被替换,也没办法去关闭被替换的链接。
导致连接一直存在,擅长不掉操作的mdb文件。