之后无法删除福彩12选5走势图

科恩·霍夫

新成员
已加入
2020年2月3日
留言内容
3
编程经验
5-10
各位,

我认为我有一个类似的问题。创建福彩12选5走势图并使用OleDBConnection读取福彩12选5走势图时,此后我无法将其删除。我正在使用conn.Close(),“正在使用”语句,...试图删除它时,它一直显示“福彩12选5走势图已在使用中”错误...

我放了一个福彩12选5走势图"test.xlsx_copy"在我的桌面上并复制该福彩12选5走势图,只是为了确保该福彩12选5走势图未在其他任何地方使用过...这也与我将福彩12选5走势图放置在何处(临时福彩12选5走势图夹,桌面等)无关紧要,它始终会显示错误消息。我没有使用任何防病毒软件,Windows防病毒软件已关闭...。我不知道什么会导致此问题以及如何解决此问题...

C#:
            string filename = "C:\\Users\\Koen\\Desktop\\test.xlsx";
            File.Copy(filename + "_copy", filename);
            string strConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", filename);
            using (OleDbConnection SQLConn = new OleDbConnection(strConnectionString))
            {
                SQLConn.Open();
                SQLConn.Close();
            }
            File.Delete(filename);

任何可以帮助我(或提供有关先前问题的更新)的人吗?我将非常感激!
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
您有什么版本的Office?
是32位还是64位?
您安装了哪个版本的OLEDB ACE驱动程序? (请参阅此处的驱动程序链接 博客文章
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,933
地点
英国
编程经验
10+
我认为我有一个类似的问题。
我已经问过你的话题了。在下面发布您的问题和代码。

我们需要看更多。

不足以确定假设或推测。如果打开了福彩12选5走势图,该在哪里?
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
The following worked just fine for me. No exceptions thrown. (It was kind of unusual that calling SQLConn.Close() took about 4 seconds when I stepping with a debugger.

C#:
using System;
using System.IO;
using System.Data.OleDb;
using System.Data;

namespace SimpleCS
{
    class Program
    {
        static void Main(string[] args)
        {
            string filename = "Test.xlsx";
            File.Copy(filename + "_copy", filename);
            string strConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", filename);
            using (OleDbConnection SQLConn = new OleDbConnection(strConnectionString))
            {
                SQLConn.Open();
                SQLConn.Close();
            }
            File.Delete(filename);
        }
    }
}

为了避免硬编码路径,我设置了"Test.xlsx_copy"总是复制到"bin\Debug" or "bin\Release"从下面的“属性”中可以看到该目录。

Screenshot_1.png


就像我在另一个线程上所说的那样,我在Win10(版本1909)上使用64位Office 2016 Professional,并将Avira用作我的AV。一个必须安装 64位2016 ACE OLEDB驱动程序 从Microsoft可以打开该连接字符串。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
我可以获取福彩12选5走势图的唯一方法是打开异常,是在执行第17行之前在Excel中显式打开福彩12选5走势图。但是,在这种情况下,异常是绝对正确的,因为我确实打开了福彩12选5走势图。
屏幕截图_2.png
 
Last edited:

科恩·霍夫

新成员
已加入
2020年2月3日
留言内容
3
编程经验
5-10
大家好,

你们不能重现该问题的事实是预期的。我已经使用我的软件超过3年了,完全没有问题。上周,它突然开始在File.Delete上引发异常。唯一更改的是用于Office的简单Windows更新...

Connection.Close()不关闭连接只是不合逻辑的,但这是引发此异常的唯一可能原因。该福彩12选5走势图是在上面的几行中新创建的,没有其他过程正在使用该福彩12选5走势图(我检查过),并且我使用了'using'语句并显式关闭连接

尝试解决此问题,令我感到震惊的是,也许重新安装数据库引擎可以解决此错误,然后欢呼(!),它做到了!
因此,显然Windows更新发生了一些麻烦,破坏了Microsoft数据库引擎...重新安装它,一切都很好!
 
Last edited:
最佳 底部