2014-10-15 2 views
0

Ahoy!Скрипт Google Apps для экспорта таблиц в mySQL выполняется в нескольких файлах

Как я могу экспортировать все данные Google Spreadsheet в MySQL, у меня есть основы сценария экспорта, но все мои таблицы имеют 1500+ строк, и их 41, следующий мой вопрос: могу ли я выполнить эти скрипты на всех файлах таблиц сразу, возможно, в папке? потому что я не люблю тралить через все 41 и присваивать каждому сценарий.

Заранее спасибо :)

ответ

1

Как я могу экспортировать все данные в электронной таблице Google, к MySQL

Есть несколько способов, вы можете сделать это. Какой из них следует использовать, зависит от того, как настроен ваш экземпляр MySQL.

Если ваш экземпляр MySQL является закрытым экземпляром локальной сети, то вы не можете подключиться к нему из-за пределов локальной сети, поэтому скрипт Google Apps не сможет подключиться к нему. В этом случае единственным вариантом является экспорт данных ваших электронных таблиц Google в виде файлов CSV (т. Е. Использование меню «Файл-> Загрузка как-> Запятые значения»), а затем импорт их в таблицу MySQL db. См. Load Data Infile MySQL statement syntax.

Если ваш экземпляр MySQL является с открытым лицом экземпляром, доступный снаружи локальной сети, вы могли бы использовать Google Apps Script JDBC Service для подключения к экземпляру MySQL и вставить данные/обновление из вашего Google листов. Пожалуйста, прочитайте Setup for other databases section of JDBC guide для получения подробной информации о настройке базы данных для подключения из Google Apps Script.

Могу ли я выполнить эти скрипты во всех файлах таблиц сразу, , возможно, в папке?

Во втором случае (публичный экземпляр MySQL) вы можете определенно автоматизировать это с помощью небольшого количества скриптов. У вас может быть один сценарий, который будет проходить через все электронные таблицы в данной папке (или список идентификаторов таблиц, если они находятся в разных папках) и вставляет данные из каждого в вашу базу данных MySQL. Drive Service и Spreadsheet Service будут твои друзья здесь. Однако имейте в виду, что максимальное время выполнения для скрипта google составляет 10 (?) Минут, поэтому, если ваши листы содержат много данных и/или ваше соединение с вашим экземпляром db выполняется медленно, такой скрипт может зайти в таймаут. Возможно, вам придется реализовать некоторые функции резервного копирования/возобновления в вашем скрипте, чтобы он знал, где он закончил предыдущий запуск и выбирает оттуда в следующем прогоне.

+0

Спасибо azawaza, ваша идея зацикливания была чем-то, о чем я не думал! Низкий, и вот это сработало;) снова спасибо. –

Смежные вопросы