Источник: www.frnet.narod.ru
Данная заметка посвящена теме работы с FileSystemObject. Рассмотренный пример достаточно тривиален. Предположим у нас есть следующая задача: В CSV-файле хранятся данные о кодах и названиях стран мира. Необходимо всю информацию, содержащуюся в файле загрузить в базу данных.
Файл имеет следующий формат:
Code, Country AU, Австралия AT, Австрия AZ, Азербайджан ... JM, Ямайка JP, Япония
Для загрузки данных в базу мы можем сгенерировать на основе предоставленного CSV-файла SQL-код, который создавал бы таблицу и заносил в нее соответствующие записи.
Рассмотрим решение данной задачи. Для простоты решения напишем небольшой скрипт на VBScript, который будет создавать текстовый файл с необходимыми SQL-запросами. Назовем его generate_sql.vbs. Пусть имя CSV-файла будет country.csv, а сгенерированный файл будет называться, например country.sql. Нам необходимо выполнить следующие действия: записать в новый файл SQL-запрос создания таблицы, переписать все записи из CSV-файла, пропустив первую строку, так как в ней находится заголовок, в виде SQL-запросов на добавление записи в таблицу.
Const ForReading = 1, ForWriting = 2 Dim fso, f1, f2, Line Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.OpenTextFile("country.csv", ForReading) Set f2 = fso.OpenTextFile("country.sql", ForWriting, True) f1.SkipLine() f2.WriteLine("CREATE TABLE country (c varchar(3), country varchar(100));") Do While not f1.AtEndOfStream Line = f1.ReadLine() Line = Split(Line,", ") f2.WriteLine("INSERT INTO country (c, country) VALUES ('"+Line(0)+"','"+Replace(Line(1), "'", "''")+"');") Loop
Что имеем в итоге: CSV-файл с исходными данными, VBS-файл (обработчик, должен находится в той же папке, что и CSV-файл) запускающийся по двойному щелчку на нем и, наконец, результат обработки – SQL-файл, содержимое которого можно открыть клиентом базы данных.
Примечание. В различных базах данных, либо в различных версиях одной и той же базы данных может немного отличатся синтаксис SQL-запросов. В таком случае необходимо просто подкорректировать генерируемый в скрипте запрос в соответствии с синтаксисом используемой базы данных. Приведенный пример создан на основе синтаксиса базы данных Oracle.
Пример вы можете скачать по ссылке: http://www.frnet.narod.ru/script/article/0054.zip
Статьи по теме
Создание файлов при помощи JavaScript и VBScriptРабота с каталогами. Часть 1
Работа с каталогами. Часть 2
Чтение информации из текстового файла
Проверка наличия файла
Копирование, перемещение, удаление файлов с клиентского компьютера
Еще немного о работе с файлами...