|
The process cannot access the file '' because it is being used by another process.
|
|||
---|---|---|---|
#18+
Привествую , друзья, толи FileStream толи Process, помогите разобраться. Указанное ниже windows forms приложение сперва выбирает один или несколько файлов из openFileDialog1, проверяет были ли эти файлы в БД, записывает их в БД . Затем читает из нее их и записывает в Windows. Далее произходит открытие этих файлов, закрытие и затем посылка их по Email. Все работает вроде нормально, но когда выбираются файлы повторно или файлы в формате Excel выходит это исключение The process cannot access the file '' because it is being used by another process. При прогоне программы я нажимаю всего один раз кнопку (btnSales_Click.) В первый раз все проходит нормально. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 16:47 |
|
The process cannot access the file '' because it is being used by another process.
|
|||
---|---|---|---|
#18+
переводить ошибку на русский не пробовали? ошибка сообщает вам о том, что открываемый файл уже открыт в другом процессе, чтоб открыть файл необходимо его закрыт. Если это excel таблица, то скорее всего она уже открыта в Excel, по этому файл не открывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 16:57 |
|
The process cannot access the file '' because it is being used by another process.
|
|||
---|---|---|---|
#18+
Roman Mejtes, Спасибо за информацию. После записи файлов из БД в ОС, я их открываю, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88.
а затем закрываю. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Но к сожалению, я не могу найти в каком процессе открываемый файл уже открыт. Как видно из кода, пробывал по разному закрывать этот процесс. В слущае excel применял дополнительно Marshal.ReleaseComObject(sp). Не вышло. Где-то у меня этот файл использовается. Помогите, пожалуста разобраться.. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 17:47 |
|
The process cannot access the file '' because it is being used by another process.
|
|||
---|---|---|---|
#18+
При Debug mode моего приложения , код перепрыгивает с первого условия ниже на второе, а затем идет в исключение с сообщением "файл уже открыт". Хотя этот файл был убит Kill() методом и по факту закрыт. (Код того как файл был закрыт можно найти выше.) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 11:18 |
|
The process cannot access the file '' because it is being used by another process.
|
|||
---|---|---|---|
#18+
Вероятно, какие-то дисковые операции выполняются ОС асинхронно. Попробуй вставить задержку (для того, чтобы понять, в этом дело или нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 13:05 |
|
The process cannot access the file '' because it is being used by another process.
|
|||
---|---|---|---|
#18+
уже обсуждали кстати похожую тему https://www.sql.ru/forum/1317955/blokirovka-fayla?hl=attachment автор темы писал, что файлы в Attachment находятся в открытом состоянии или как то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 13:10 |
|
|
start [/forum/topic.php?fid=20&fpage=14&tid=1398718]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 18ms |
total: | 161ms |
0 / 0 |