Назад | Перейти на главную страницу

MSSQL - Веб-инструмент MyLittleAdmin

В настоящее время я пытаюсь импортировать файл sql размером 35 МБ в базу данных общего хостинга.

Я не могу напрямую подключиться к базе данных с помощью инструментов студии управления sql любого типа.

Мне предоставили доступ только к myLittleAdmin - http://mylittleadmin.com/en/welcome.aspx

Текущие проблемы

Нам нужно импортировать данные размером 35 МБ - ВРУЧНУЮ разбив их на блоки по 5 МБ, мы все равно не можем загрузить. Вместо этого вставка непосредственно в текстовое поле приведет к зависанию браузера.

Удалось вставить файл sql размером 4 МБ в текстовое поле, но не удалось заставить его обработать по истечении времени ожидания.

Хостинговая компания не предоставляет доступ к http://www.mylittlebackup.com/mlb/en/welcome.aspx

Они также не хотят заниматься изменением тайм-аутов.

Любые предложения были бы отличными :)

Я предполагаю, что у вас есть доступ для загрузки собственных сценариев ASP / ASP.net?

В таком случае вы можете написать сценарий, который:

  1. скачивает файл из другого места
  2. читает файл по частям, где один «бит» может быть оператором CREATE TABLE или оператором INSERT (или, возможно, группой операторов вставки if
  3. запускает каждый бит SQL для новой базы данных

Первый шаг может потребовать некоторого размышления, так как это тоже может истечь. Архивирование файла было бы хорошей идеей, если у вас есть доступ к библиотеке на другом конце, чтобы распаковать его. В противном случае вы могли бы разделить файл на небольшие части и заставить сценарий извлекать каждую часть отдельно, добавляя каждый новый блок к копии файла, который у него есть. Если проблема связана с тайм-аутом сценария, тогда это все равно не удастся, если цикл находится в сценарии, но у вас может быть цикл на стороне клиента, который запрашивает выполнение каждой части с помощью синхронного xmlhttprequest:

  • браузер загружает HTML-страницу с циклом на стороне клиента, который запускает
  • клиентский скрипт запрашивает скрипт на сервере и получает часть 1 файла
  • сервер не возвращается, пока не получит часть 1
  • клиентский скрипт запрашивает скрипт на сервере и получает часть 1 файла
  • и так далее...

Такой же цикл на стороне клиента может потребоваться и для второй и третьей частей.

Часть «получить файл» (или «получить части файла») сможет читать файл из другого веб-расположения. Этот шаг, конечно, можно полностью пропустить, если вы можете без проблем отправить большой файл прямо на сервер через FTP или аналогичный (сценарий мог бы просто прочитать файл из локального хранилища).

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