Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Импорт данных через DLL  [new]
Super_DJ
Member

Откуда: Königsberg in Preußen
Сообщений: 79
Подскажите общий принцип решения подобной задачи:

Имею базу данных DBF. Проект базы данных открыт, все DBF файлы зашифрованы. Есть библиотека DLL через которую клиентское приложение работает с DBF файлами на лету.

Что хотелось бы:

Сделать связанный сервер или другой вариант что бы можно было получать данные по вызову. Перенос базы данных целиком занимает много времени(база огромная и постоянно растет).
16 апр 12, 12:44    [12421986]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
Super_DJ
Имею базу данных DBF. Проект базы данных открыт, все DBF файлы зашифрованы. Есть библиотека DLL через которую клиентское приложение работает с DBF файлами на лету.
При чём тут SQL Server???
16 апр 12, 13:03    [12422103]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
И на сколько я помню, DBF - это таблица... А много файлов DBF - это много таблиц... И если DBF - формат VFP, то БД в VFP имеет расширение DCX, DCT
16 апр 12, 13:11    [12422146]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
автор
Есть библиотека DLL через которую клиентское приложение работает с DBF файлами на лету

написать свой провайдер, который так же будет использовать данную DLL и сделать линкед сервер
16 апр 12, 13:28    [12422252]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Super_DJ
Member

Откуда: Königsberg in Preußen
Сообщений: 79
Есть DBC и куча DBF к нему.
DBC не шифрована. В ней объявлена структура DBF файлов. Так же имеется уйма служебных файлов (индексы таблиц и прочее).
16 апр 12, 13:30    [12422262]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Super_DJ
Есть DBC и куча DBF к нему.
DBC не шифрована. В ней объявлена структура DBF файлов. Так же имеется уйма служебных файлов (индексы таблиц и прочее).
Т.е. средствами VFP можно открыть данную БД, проанализировать структуру, связи, процедуры, функции... Без проблем...

>> Перенос базы данных целиком занимает много времени(база огромная и постоянно растет).
Во тут мы с мужиками сумлеваемся... Занимался VFP...
16 апр 12, 13:33    [12422280]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Super_DJ
Member

Откуда: Königsberg in Preußen
Сообщений: 79
HandKot
автор
Есть библиотека DLL через которую клиентское приложение работает с DBF файлами на лету

написать свой провайдер, который так же будет использовать данную DLL и сделать линкед сервер

А пример можно или ссылку где можно почитать.
16 апр 12, 13:35    [12422292]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
искать в инете
Провайдер данных — это компонент программного обеспечения, манипулирующий данными. Он располагается между потребителем данных и базой данных. В OLE DB все провайдеры представляют данные в табличном формате (аналогичном тому, в котором хранятся данные в реляционных СУБД и файлах электронных таблиц), в виде виртуальных таблиц. Провайдер данных выполняет следующие функции:


получение от потребителя запросов на получение или модификацию данных;


получение данных из базы данных или их модификацию в базе данных;


возвращение данных потребителю.

вот еще тута

но вот будет ли стоить овчинка выделки?

И ГЛАВНОЕ:
что значит DBF файлы зашифрованы?
их можно отурыть с помощью VFP или подобного?
16 апр 12, 14:12    [12422563]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
HandKot
искать в инете
Провайдер данных — это компонент программного обеспечения, манипулирующий данными. Он располагается между потребителем данных и базой данных. В OLE DB все провайдеры представляют данные в табличном формате (аналогичном тому, в котором хранятся данные в реляционных СУБД и файлах электронных таблиц), в виде виртуальных таблиц. Провайдер данных выполняет следующие функции:


получение от потребителя запросов на получение или модификацию данных;


получение данных из базы данных или их модификацию в базе данных;


возвращение данных потребителю.

вот еще тута

но вот будет ли стоить овчинка выделки?

И ГЛАВНОЕ:Скорее всего в DLL зашит ключ... Ну а потом расшифровывается текстовая инфа из записи... Но странно как-то ... времени на это должно уходить...
что значит DBF файлы зашифрованы?
их можно отурыть с помощью VFP или подобного?
16 апр 12, 14:17    [12422601]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Скорее всего в DLL зашит ключ... Ну а потом расшифровывается текстовая инфа из записи... Но странно как-то ... времени на это должно уходить...
16 апр 12, 14:18    [12422607]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Super_DJ
Member

Откуда: Königsberg in Preußen
Сообщений: 79
Владимир СА
Super_DJ
Есть DBC и куча DBF к нему.
DBC не шифрована. В ней объявлена структура DBF файлов. Так же имеется уйма служебных файлов (индексы таблиц и прочее).
Т.е. средствами VFP можно открыть данную БД, проанализировать структуру, связи, процедуры, функции... Без проблем...

>> Перенос базы данных целиком занимает много времени(база огромная и постоянно растет).
Во тут мы с мужиками сумлеваемся... Занимался VFP...


Размер базы ~40Gb таблиц ~100 штук

HandKot
искать в инете
Провайдер данных — это компонент программного обеспечения, манипулирующий данными. Он располагается между потребителем данных и базой данных. В OLE DB все провайдеры представляют данные в табличном формате (аналогичном тому, в котором хранятся данные в реляционных СУБД и файлах электронных таблиц), в виде виртуальных таблиц. Провайдер данных выполняет следующие функции:


получение от потребителя запросов на получение или модификацию данных;


получение данных из базы данных или их модификацию в базе данных;


возвращение данных потребителю.

вот еще тута

но вот будет ли стоить овчинка выделки?

И ГЛАВНОЕ:
что значит DBF файлы зашифрованы?
их можно отурыть с помощью VFP или подобного?


Овчинка стоит выделки. Спасибо почитаю.
Открыть таблички напрямую ничем нельзя, даже структуру не видно.

Владимир СА
Скорее всего в DLL зашит ключ... Ну а потом расшифровывается текстовая инфа из записи... Но странно как-то ... времени на это должно уходить...


Времени уходит очень мало, работает все на лету. Вот отчеты строятся реально долго. Не меняя логику тоже самое MS делает в десятки раз быстрее. Но полный перенос процедура очень долгая.
В DLL передается ключ и еще несколько параметров(несколько ключей под разные таблицы(поделены по назначению таблиц)).
16 апр 12, 15:15    [12422971]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Super_DJ
...Времени уходит очень мало, работает все на лету. Вот отчеты строятся реально долго. Не меняя логику тоже самое MS делает в десятки раз быстрее. Но полный перенос процедура очень долгая.
В DLL передается ключ и еще несколько параметров(несколько ключей под разные таблицы(поделены по назначению таблиц)).
А на открытие программы времени много уходит?
16 апр 12, 15:19    [12423008]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Super_DJ
Открыть таблички напрямую ничем нельзя, даже структуру не видно.
А у тебя VFP полный стоит?
16 апр 12, 15:22    [12423035]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Super_DJ
Member

Откуда: Königsberg in Preußen
Сообщений: 79
Владимир СА
Super_DJ
...Времени уходит очень мало, работает все на лету. Вот отчеты строятся реально долго. Не меняя логику тоже самое MS делает в десятки раз быстрее. Но полный перенос процедура очень долгая.
В DLL передается ключ и еще несколько параметров(несколько ключей под разные таблицы(поделены по назначению таблиц)).
А на открытие программы времени много уходит?

Нет, почти моментально.

Владимир СА
Super_DJ
Открыть таблички напрямую ничем нельзя, даже структуру не видно.
А у тебя VFP полный стоит?

Да, VFP 9 с SP полный.

Приложение работает с таблицами через посредника (DLL) и в приложении таблицы видны как их дешифрованные собратья в VFP. И за счет индексов что шифрованная что дешифрованная таблица показывают почти идентичную скорость работы.
16 апр 12, 15:38    [12423142]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Super_DJ
Открыть таблички напрямую ничем нельзя, даже структуру не видно.
Дык таблички ты обязан открывать в VFP9.0, вот только текстовые поля ты скорее всего видишь абракадабрами... И структуру БД должен видеть... И поля табличек тоже должен видеть... Странно если не видишь...
16 апр 12, 15:45    [12423187]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
автор
И за счет индексов что шифрованная что дешифрованная таблица показывают почти идентичную скорость работы.


какие индексы, если Вы утверждаете, что файлы шифрованные?
либо Ваша ДЛЛ - и есть некий провайдер
16 апр 12, 15:50    [12423238]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
HandKot
автор
И за счет индексов что шифрованная что дешифрованная таблица показывают почти идентичную скорость работы.

какие индексы, если Вы утверждаете, что файлы шифрованные?
либо Ваша ДЛЛ - и есть некий провайдер
Индексы конечно могут стоять на числовые поля... Но налету индексы долго должных строиться... если БД в 40Gb...
Хотя не верится в такой размер БД на VFP...
На сколько я помню, макс. размер 1 таблицы - это 2 Gb....
Но ведь не все таблицы - это данные, должны быть и справочники, и связи...
16 апр 12, 16:00    [12423307]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных через DLL  [new]
Super_DJ
Member

Откуда: Königsberg in Preußen
Сообщений: 79
Владимир СА
Super_DJ
Открыть таблички напрямую ничем нельзя, даже структуру не видно.
Дык таблички ты обязан открывать в VFP9.0, вот только текстовые поля ты скорее всего видишь абракадабрами... И структуру БД должен видеть... И поля табличек тоже должен видеть... Странно если не видишь...


В VFP при открытии таблиц ошибка что файл не является таблицей.
HandKot
автор
И за счет индексов что шифрованная что дешифрованная таблица показывают почти идентичную скорость работы.


какие индексы, если Вы утверждаете, что файлы шифрованные?
либо Ваша ДЛЛ - и есть некий провайдер

Эта длл работает как посредник. Приложение её регистрирует и потом работает с таблицами как с обычными DBF.
Владимир СА
HandKot
пропущено...

какие индексы, если Вы утверждаете, что файлы шифрованные?
либо Ваша ДЛЛ - и есть некий провайдер
Индексы конечно могут стоять на числовые поля... Но налету индексы долго должных строиться... если БД в 40Gb...
Хотя не верится в такой размер БД на VFP...
На сколько я помню, макс. размер 1 таблицы - это 2 Gb....
Но ведь не все таблицы - это данные, должны быть и справочники, и связи...

Размер одного DBF на сколько помню не больше 2Гб. Таблиц до черта, все тексты и графика в сопутствующих fpt файлах, так что вполне себе живет база при 40-ка гигах и пухнет дальше.

P.S. Хотите верьте, хотите нет. Я не убеждать в возможности оного пришел.

Направление поисков я услышал, буду разбираться дальше. Спасибо.
16 апр 12, 16:58    [12423618]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить