2017-01-31 1 views
1

Мне нужно загрузить несколько тысяч адресов на веб-портал. У меня нет доступа к сайту и сам должен сделать это с помощью следующей INSERT заявление:Как преобразовать данные Excel в SQL-вставку?

INSERT INTO Address (AddressTypeID, Address1,City, State, Zip, Phone, PersonName, DisplayName, IsDefault, StatusID, UserID) 
VALUES ('1', 'SQL Herro st', 'SLC', '42', '84087', '8015957258', 'Bruce Wayne', 'Bruces address', 'False', '1', '3019') 

У меня есть адреса в Excel, но я действительно не имеют ни малейшего представления, как перебирать этот код в тысячу раз, а импортируя данные.

+0

Следующее решение установило соединение с SQL-сервером для отправки запросов T-SQL (например, запрос на ввод) для выполнения: http://stackoverflow.com/questions/30289095/connection-to-a-microsoft-sql -database-via-vba-adodb-with-the-low-risk-to-h/30299444 # 30299444 – Ralph

ответ

2

У вас есть разные варианты в зависимости от того, какой сервер вы используете, но с вашей текущей информацией вы можете сделать следующее.

  1. нажмите на первый пустой столбец в первой строке, т.е. если данные в строке 2 и все столбцы идут от а до к, то вы выбираете L2
  2. Вставьте следующий код

    ="INSERT INTO Address (AddressTypeID, Address1,City, State, Zip, Phone, PersonName, DisplayName, IsDefault, StatusID, UserID) VALUES '"&A2&"', '"&B2&"', '"&C2&"', '"&D2&"', '"&E2&"', '"&F2&"', '"&G2&"', '"&H2&"', '"&I2&"', '"&J2&"', '"&K2&"'" 
    
  3. Проверьте, чтобы увидеть, если запрос является правильным, он рассчитывается с полямами из a2-k2)

  4. копия -> вставить специальные значения только к следующему колонку, так что вы держите свой код, но вы можете выбрать ала л строк с расчетными на ваш SQL инструмент запроса

enter image description here

+0

После того, как вы немного вычислили немного о SQL, немного подкорректируйте то, что вы мне дали. Благодарю. –

+0

какой сервер вы используете и какие инструменты администрирования у вас есть? – davejal

+0

MS SQL Server с MS SQL Server Management Studio в качестве основного инструмента, но я уверен, что у меня все где-то похоронено. Management Studio - единственный инструмент, который у меня есть на Citrix, поэтому я делаю все, что в моих силах. –

1

SQL Server Management Studio позволит вам импортировать данные из файлов Excel. Фактически это создает временный пакет SSIS для запуска вашего импорта.

  1. Щелкните правой кнопкой мыши базу данных, в которую вы хотите импортировать данные.
  2. Проверьте настройки столбца и убедитесь, что все ваши типы данных верны.
  3. В меню выберите «Задачи», а затем найти «Импорт данных»
  4. в источнике данных в раскрывающемся меню можно выбрать «Microsoft Excel»
  5. Установите свой путь к файлу, а затем нажмите кнопку Далее
  6. Выберите SQL Собственный клиент как ваш источник данных, и он должен по умолчанию использовать сервер и базу данных, которые вы щелкнули правой кнопкой мыши.
  7. Вы можете импортировать в существующую таблицу или создать новую и настроить сопоставления.
  8. Запустите процесс и проверьте наличие ошибок.

Теперь, некоторые оговорки. Для импорта из файла Excel вам необходимо установить драйвер Microsoft.ACE.OLEDB. У меня также были проблемы с переводами типов данных и другими подобными вещами из Excel.

Когда мне нужно импортировать Excel, я обычно конвертирую его в CSV, так как это намного проще. Это так же просто, как сохранение документа в виде CSV в приложении Excel. Затем просто измените первый шаг выше на плоский импорт файла.

Это хорошая идея при выполнении любого импорта, чтобы действительно дважды проверить параметры столбца при импорте. По крайней мере, для CSV-файлов вы можете угадать значение импорта в типах данных путем анализа некоторых строк. Обычно это хорошая работа, но мне часто приходится немного ее чистить. Как изменение поплавков на десятичные знаки и установка больших длин в строках во избежание ошибок усечения.

+0

Да, ошибки усечения могут быть реальными. А также сообщения об ошибках из SSIS не очень полезны, особенно при попытке импортировать большие объемы данных. Итак, убедитесь, что у вас много времени для этого упражнения! – cars10m

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