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

Откуда: Gardinas
Сообщений: 139
Господа, добрый день.
У меня стоит задача ежедневной загрузки *.DBF файлов в SQL-server.
Задача по своей сути элементарная и все ясно, но мои файлы называются следующим образом: N_T-1_1300_DDMMYYYY.DBF.
Из-за того что в названии присутствуют знаки "-", файлы не распознаются как таблицы (т.е. когда указывается в OLE DB коннекторе путь к файлам, а сами файлы как таблицы или sql инструкции).
Мне кажется что правильнее всего переименовывать файл во время работы скрипта т.е. вначале с помощью "File System Task" заменяем "-" на какой-нибудь знак. Потом считываем данные и переименовываем файл обратно. С этим вариантом решения все ОК или есть что-то изящнее (кроме того, что изначально изменить название файлов)?
Спасибо!
7 июн 17, 13:38    [20546732]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
Владислав Колосов
Member

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

какой провайдер Вы используете? И меня для Microsoft OLE DB Provider for Visual FoxPro проблем нет с дефисами.
7 июн 17, 14:01    [20546850]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
analysts
Member

Откуда: Gardinas
Сообщений: 139
Владислав Колосов,

Добрый день! Использую: Native OLE DB\Microsoft Jet 4.0 OLE DB Provider
Вашего провайдера у меня в списке нет. Мне нужно Visual FoxPro установить чтобы он появился?
7 июн 17, 14:54    [20547134]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
analysts
Вашего провайдера у меня в списке нет. Мне нужно Visual FoxPro установить чтобы он появился?
Просто скачать драйвер
https://www.microsoft.com/en-us/download/details.aspx?id=14839
7 июн 17, 15:06    [20547196]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
analysts
Member

Откуда: Gardinas
Сообщений: 139
Господа, помогите пожалуйста решить проблему кодировок при экспорте данных. Вместо русского языка вылазят крякозябли.
Попробовал рецепт из этой статьи, но не помогло. В чём здесь может быть дело?
29 сен 17, 14:28    [20831815]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
o-o
Guest
байт какой-то надо руками поменять
кодировка файлов при загрузке dbf
29 сен 17, 16:08    [20832167]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
assmsk
Member

Откуда:
Сообщений: 173
analysts
Господа, помогите пожалуйста решить проблему кодировок при экспорте данных. Вместо русского языка вылазят крякозябли.
Попробовал рецепт из этой статьи, но не помогло. В чём здесь может быть дело?



Какой тип данных у Вас в поле где кракозябля?
29 сен 17, 16:23    [20832208]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
analysts
Member

Откуда: Gardinas
Сообщений: 139
Вообще крякозябли возникают даже при предварительном просмотре. Если я правильно понял, то тип данных у поля при этом DT_STR.
29 сен 17, 17:26    [20832362]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
o-o
Guest
analysts
Вообще крякозябли возникают даже при предварительном просмотре.

откройте каким-нибудь Far-ом или Word-ом, которые кодировку меняют.
выясните, не досовские ли это символы.
и если да, укажите кодовую страницу как расписано по ссылке выше
29 сен 17, 17:34    [20832373]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
analysts
Member

Откуда: Gardinas
Сообщений: 139
Не получается по вашей методике сделать. Приложил файл:
29 сен 17, 18:32    [20832455]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
analysts
Member

Откуда: Gardinas
Сообщений: 139


К сообщению приложен файл (NKC_190417.ZIP - 3Kb) cкачать
29 сен 17, 18:33    [20832457]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
o-o
Guest
analysts
Не получается по вашей методике сделать. Приложил файл:

у меня нет драйверов для дбф и искать их не буду,
но кодировка -- кириллица DOS, об этом вам любой Ворд скажет

К сообщению приложен файл. Размер - 40Kb
29 сен 17, 21:59    [20832664]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
analysts
Member

Откуда: Gardinas
Сообщений: 139
То что это DOS я понял. У меня не получается прочитать документ той методикой что вы предлагаете. Создаю Flat File Source, указываю нужную информацию и получаю очередную порцию муры? Я что-то не так делаю или вы предлагали вырезать лишний байт из документа? В таком случае непонятно как это делать если файлы нужно загружать в автоматическом режиме на ежедневно?
Спасибо!

К сообщению приложен файл. Размер - 22Kb
2 окт 17, 11:50    [20835856]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
Sergey Sizov
Member

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

Dbf и Flat file с разделителем? И давно в dbf появились разделители?
Вроде бы всегда использовались соответствующие провайдеры для доступа к файлам такого типа.
2 окт 17, 11:56    [20835883]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
o-o
Guest
analysts
Я что-то не так делаю или вы предлагали вырезать лишний байт из документа?

не вырезать, а менять: меняем на 0x65 по смещению 0x1D.
---
разумеется, вы ничего не поменяли, поэтому воз и ныне там.
а как это делать массово, ну напишите ехе, меняющее нужный байт,
им обрабатывайте свои файлы
2 окт 17, 12:04    [20835924]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1526
analysts,
ставьте драйвер, скачанный по данной вам ссылке с сайта мелкомягких, настраивайте выполнение с помощью этого драйвера установку правильной кодовой страницы и спокойно читайте данные. Установку нужной кодовой страницы можно делать и самописной утилиткой, надо всего в один байт правильное значение вписать.
2 окт 17, 12:08    [20835942]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
PaulWist
Member

Откуда:
Сообщений: 2231
analysts
Господа, помогите пожалуйста решить проблему кодировок при экспорте данных. Вместо русского языка вылазят крякозябли.
Попробовал рецепт из этой статьи, но не помогло. В чём здесь может быть дело?


1. Создайте текстовый файл с именем config.fpw

2. В нём напишите одну строчку

codepage = 866


3. Положите этот файлик (config.fpw) рядом с табличкой и выполните запрос через провайдер.
2 окт 17, 12:08    [20835945]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
analysts
Member

Откуда: Gardinas
Сообщений: 139
PaulWist
и выполните запрос через провайдер.

Вы здесь имеете в виду openrowset или что-то другое?

Sergey Sizov, спасибо за совет.
o-o, спасибо за совет. Как вы объясняете так мы и понимаем)
Sergey Sizov, спасибо за вопросы. Не знаю да мне и не интересно почему вы выбрали такую модель общения и даже догадываюсь, что вы дальше начнете задавать вопросы на мои ответы) Но я буду более признателен если вы поможете решить проблему, вместо того общаться в роли "родителя".

Господа, поделитесь пожалуйста готовой утилитой, если у вас такая имеется.
2 окт 17, 13:20    [20836176]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Переименование в процессе загрузки *.dbf файлов  [new]
PaulWist
Member

Откуда:
Сообщений: 2231
analysts
PaulWist
и выполните запрос через провайдер.

Вы здесь имеете в виду openrowset или что-то другое?


Да. (openrowset, OPENQUERY)
2 окт 17, 13:54    [20836315]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить