Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Microsoft.ACE.OLEDB.12.0 как указать разделитель?  [new]
TimonSX
Member

Откуда:
Сообщений: 91
Вот так работает, но не разделяет текст на колонки.
Select tab.* from OpenrowSet(
	'Microsoft.ACE.OLEDB.12.0',
	'TEXT;FMT=Delimited(;); 
	Database=\\pdc\Share\VendorsPrice;',
	'SELECT * FROM Opel.txt') as tab

Что надо написать чтоб разделял?
первая строка в файле:
Material;Supersession;Rus Description;Eng Description;Dealer Price;Stock;WH;Supplier;SOQ;PriceGroup;Campaign Price

Что не так делаю то?
Пробовал:
FMT=Delimited(;)
Format=Delimited(;)
Extended Properties="Format=Delimited(;)"


И сразу еще вопрос:
Как обработать тхт файл с началом таким:
12.08.2015            Свободное количество на складе.                1
--------------------------------------------------------------------------------
Свободное количество на складе.
------------------------------------------------------------------------------
|Материал      |Количество|Название                                |Поставщик|
------------------------------------------------------------------------------
|000010006     |    10228 |Табличка с указаниями                   |80001    |

То есть как начать читать txt файл не с первой строчки?
31 авг 15, 18:05    [18092521]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 как указать разделитель?  [new]
TimonSX
Member

Откуда:
Сообщений: 91
Ну коль никто не помог, сделал первую часть вопроса с помощью
FROM OPENROWSET( BULK

А со второй все еще мучаюсь.
Пробую тоже с помощью BULK. начало получилось отрезать, но вот конец файла вот такой:
|ZTS276450HPPSA|       60 |Шина 275/45R20 110H XL S-ZERO(AO)       |6251     |
------------------------------------------------------------------------------

И BULK Жестко ругается что нет конца у файла :(
fmt вот такой:
11.0									
5	
1	SQLCHAR	0	0	"|"	0	MT	""									
2	SQLCHAR	0	0	"|"	1	CatName	SQL_Latin1_General_CP1_CI_AS		
3	SQLCHAR	0	0	"|"	2	Stock	SQL_Latin1_General_CP1_CI_AS		
4	SQLCHAR	0	0	"|"	0	Name	SQL_Latin1_General_CP1_CI_AS		
5	SQLCHAR	0	0	"|\r\n"	0	Vendor	SQL_Latin1_General_CP1_CI_AS

Что можно придумать?
1 сен 15, 19:11    [18096847]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 как указать разделитель?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8301
TimonSX,

а почему Вы не хотите SSIS использовать?
2 сен 15, 11:28    [18098993]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 как указать разделитель?  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
Посмотри если поможет
https://msdn.microsoft.com/en-us/library/windows/desktop/ms709353(v=vs.85).aspx
2 сен 15, 15:09    [18100241]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 как указать разделитель?  [new]
TimonSX
Member

Откуда:
Сообщений: 91
Владислав Колосов
TimonSX,
а почему Вы не хотите SSIS использовать?

Почему не получилось у меня подключится SSIS к Excel и ACCESS :(
пишут ошибки что не видяит имена листов. Да и как я понял в SSIS имена листов надо знать, а у меня они постоянно меняются (по шаблону). Да и SSIS я совсем не знаю.
У меня задача:
Взять группы скидок из ACCESS 2007, цены из Excel 2013, а остатки из ТХТ соединить это все по колонке артикул и загрузить в таблицу SQL.
Пока все разобрал из ACCESS и Excel.
А TXT разобрать не получается :(.
5 сен 15, 17:28    [18113101]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 как указать разделитель?  [new]
anvg
Member

Откуда: СПб
Сообщений: 101
Доброе время суток
Попробуйте создать для вашего текстового файла shema.inic
5 сен 15, 22:10    [18113671]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить