Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получения данных из большого CSV файла с помощью OPENDATASOURCE / 11 сообщений из 11, страница 1 из 1
18.04.2018, 12:07
    #39632343
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
Здравствуйте, у меня есть CSV-файл (в нем 45 млн. строк и размер 8,13 ГБ) я хочу получить все строки (для дальнейшего анализа) из этого файла с помощью следующей команды:
Код: sql
1.
SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=\\DEVSERV\InOut\ЦУ;Extended Properties="Text;HDR=NO;"')...[CALIBRATION_HIST#csv];


при её выполнении возникает следующая ошибка:
авторOLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "The query cannot be completed. Either the size of the query result is larger than the maximum size of a database (2 GB), or there is not enough temporary storage space on the disk to store the query result.".
Сообщение 7311, уровень 16, состояние 2, строка 1
Cannot obtain the schema rowset "DBSCHEMA_COLUMNS" for OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)". The provider supports the interface, but returns a failure code when it is used.

Если выполнить следующую команду (CSV-файл содержит 10 строчек и размер 837 байт):
Код: sql
1.
SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=\\DEVSERV\InOut\ЦУ;Extended Properties="Text;HDR=NO;"')...[ACTIVATE_DICT#csv];


то она выполняется успешно.
...
Рейтинг: 0 / 0
18.04.2018, 12:08
    #39632349
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
Вопрос: как мне получить содержимое первого файла с помощью OPENDATASOURCE подобных процедур?
...
Рейтинг: 0 / 0
18.04.2018, 12:11
    #39632356
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
ASukhov1986,
1) на севере, где находиться СУБД есть два жестких диска (с и d), на первом свободно 46 Гб, на втором свободно 103Гб;
2) версия СУБД:
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4042.0 (X64) Mar 26 2015 21:18:04 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
...
Рейтинг: 0 / 0
18.04.2018, 12:24
    #39632381
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
т.е. сообщения об ошибке вы не поняли? ))
...
Рейтинг: 0 / 0
18.04.2018, 12:28
    #39632389
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
Гигабайт Мегабайтович Килобайтов,

вроде бы да
...
Рейтинг: 0 / 0
18.04.2018, 12:37
    #39632403
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
ASukhov1986,

что "вроде бы да"? ))
что вы поняли из сообщения об ошибке?
...
Рейтинг: 0 / 0
18.04.2018, 12:45
    #39632408
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
Гигабайт Мегабайтович Килобайтов я понял, что размер выгруженных данных из этого файла не должно превышать 2 ГБ.
...
Рейтинг: 0 / 0
18.04.2018, 12:48
    #39632412
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
ASukhov1986Гигабайт Мегабайтович Килобайтов я понял, что размер выгруженных данных из этого файла не должно превышать 2 ГБ.
как грит мой начальник "Бинго!" ))
...
Рейтинг: 0 / 0
18.04.2018, 12:55
    #39632422
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
ASukhov1986,

дравер ACE с теми же ограничениями как и excel(в общем). У вас csv и можно через другие https://www.connectionstrings.com/textfile/
...
Рейтинг: 0 / 0
18.04.2018, 15:41
    #39632613
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
TaPaK,
Пример моих данных в CSV-файла:
77"WORK_PLACE""Принадлежность средств поверки""""2000/01/01 00:00:00"1188"CODIFF""Кодификатор СИ""""2000/01/01 00:00:00"11
Пытаюсь использовать следующую команду:
Код: sql
1.
2.
3.
BULK INSERT CU.metr.calibration_hist  
   FROM '\\DEVSERV\InOut\ЦУ\CALIBRATION_HIST.csv'
   WITH (FORMAT='CSV')


и возникает ошибка:
авторСообщение 102, уровень 15, состояние 1, строка 3
Incorrect syntax near 'FORMAT'.
хотя в руководстве есть этот параметр https://docs.microsoft.com/ru-ru/sql/t-sql/statements/bulk-insert-transact-sql
...
Рейтинг: 0 / 0
18.04.2018, 15:43
    #39632614
ASukhov1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения данных из большого CSV файла с помощью OPENDATASOURCE
ASukhov1986,

этот параметр появиться только в следующей версии
FORMAT = 'CSV'
Applies to: SQL Server 2017 (14.x) CTP 1.1.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получения данных из большого CSV файла с помощью OPENDATASOURCE / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]