У меня есть большое количество файлов .txt (> 60k), которые необходимо преобразовать в .csv, разделенный точкой с запятой (поскольку некоторые поля представляют собой список с запятыми), чтобы я мог загрузить их на наш SQL-сервер.
Мне удалось написать файл .vbs, который будет загружать данные в базу данных Access, даже если таблицы не существует, но я не могу заставить acExportDelim перезаписать/создать новый файл. Это также дает ошибку, когда FileName.csv не существует.
Должно быть что-то, что я упускаю, но я не знаю, с чего мне начать искать.
CMD-ввод
C:\Afolder\TxtToCsv.vbs \\DataOnaServer\FileName.txt \\DataOnaServer\FileName.csv
.vbs-файл
Dim oAccess
Set oAccess = CreateObject("Access.Application")
oAccess.OpenCurrentDatabase("C:\Afolder\WDS.accdb")
oAccess.DoCmd.TransferText acImportDelim,"FileTxtImportSpec","FileName",WScript.Arguments.Item(0),1
oAccess.DoCmd.TransferText acExportDelim,"FileCsvExportSpec","FileName",WScript.Arguments.Item(1)
oAccess.Quit
Получено сообщение об ошибке, когда файл отсутствует. (Кажется, я еще не могу выложить изображение)
"Ядро базы данных Microsoft Access не смогло определить объект "lp4137.csv". Убедитесь, что объект существует и что вы правильно написали его имя и путь. Если "lp4137.csv" не является локальным объектом, проверьте сетевые подключения или обратитесь к администратору сервера." Код: 800A0BC3
Дизайн базы данных Blue Claw ссылка на загружаемый демонстрационный файл с нажатием кнопки VBA с запуском аналогичного скрипта .