我在我的窗口服务的方法如下:System.IO.IOException:该进程无法访问文件“FILE_NAME”
System.IO.File.Copy(path, ConfigurationManager.AppSettings["BulkInsertGiftRegisterCreatorDirectory"] + System.IO.Path.GetFileName(path));
Loyalty.Entity.Base.FileInfo file = new Loyalty.Entity.Base.FileInfo();
file.FileName = path;
request.Object = file;
ResponseBase response = new ResponseBase(request);
RequestConnection connection = new RequestConnection("cn");
FileManager fileManager = new FileManager(request, connection);
response = fileManager.OfflineGiftRegisterBulkInsert();
System.IO.File.Delete(ConfigurationManager.AppSettings["BulkInsertGiftRegisterCreatorDirectory"] + System.IO.Path.GetFileName(path));
// here is the part of stored procedure that uses file
SELECT @SCRIPT= 'BULK INSERT GIFT_CARD.GIFT_TEMP'
+' FROM '''
+ @FILE_PATH
+''' WITH ('
+'FIELDTERMINATOR = '','','
+ 'KEEPNULLS'
+');'
我可以用手从文件系统删除文件,但是这个代码说我“Ooops!System.IO.IOException:进程无法访问文件的'文件名' ,因为它正在被另一个进程使用。”
我已经搜索了相似的问题,在stackoverflow和其他地方。但我找不到任何东西来帮助我。复制或删除方法返回无效,我没有流在我的代码来处置。
我该如何解决?
在此先感谢。
什么是“做其他事”的一部分在做什么?我假设它正在做* *文件被复制/删除。我有这种感觉,这件事很重要。 – 2010-11-08 21:29:09
您的Window服务是否以与您相同的身份运行?如果没有,那么Window的服务可能没有删除文件的权限。 – ChrisNel52 2010-11-08 21:35:46
我调用一个存储过程,该存储过程使用文件的路径批量插入文件包含的行。 – anilca 2010-11-08 21:35:50