|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyМимопроходящийпостановка задачи - говно. советы как её решить через жопу, тоже.+1 Вариант "все данные в базе ФБ" не рассматривается? актуальность поддерживать репликатором. Возможен только теоретически. А так не рассматривается. Данные в БД MSSQL меняются в реальном времени и в большом количестве. А еще есть закон сохранения энергии: если есть Linked Sever (для обращения к Firebird-у из MSSQL), то должен быть и обратный путь :-) Плюс к эта разработка может быть полезная в других проектах. Да и еще одна звездочка на борту еще ни одному программисту не повредила. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:29 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Hello, Po-stroyka! You wrote on 12 января 2017 г. 13:31:38: Po-stroyka> и еще одна звездочка на борту еще ни одному программисту не повредила ты сильно недооцениваешь вредное влияние ментального онанизма на неокрепший организм Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:34 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroykaДа и еще одна звездочка на борту еще ни одному программисту не повредила. :-) Не всегда черенок из задницы равняется звездочке на борту. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:34 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroykaIvan_Pisarevskyпропущено... +1 Вариант "все данные в базе ФБ" не рассматривается? актуальность поддерживать репликатором. Возможен только теоретически. А так не рассматривается. Данные в БД MSSQL меняются в реальном времени и в большом количестве. А еще есть закон сохранения энергии: если есть Linked Sever (для обращения к Firebird-у из MSSQL), то должен быть и обратный путь :-) Плюс к эта разработка может быть полезная в других проектах. Да и еще одна звездочка на борту еще ни одному программисту не повредила. :-) А не хочешь, чтобы MS SQL Server сам наполнял нужные таблички в базе FireBird? С помощью, например http://www.ibprovider.com/rus/ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:35 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
wadmanWildSeryВторую строку до конца не осилил. Во второй строке не описана ситуация с временной таблицей. Вообще не понятно, что ТС имеет в виду под memorydataset. memorydataset - аналог временной таблицы, хранящейся в оперативной памяти (для оперативности, ведь дисковая подсистема всяко тормознее). возможно не лучше решение, но лет 10 назад встречал что то подобное. только тогда исходников не было, а было только описание для разработчика с описанием где, что и как хранится. документатор хороший попался видимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:36 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroykamemorydataset - аналог временной таблицы, хранящейся в оперативной памяти (для оперативности, ведь дисковая подсистема всяко тормознее). возможно не лучше решение, но лет 10 назад встречал что то подобное. только тогда исходников не было, а было только описание для разработчика с описанием где, что и как хранится. документатор хороший попался видимо. То есть этот датасет не имеет никакого отношения ни к MS SQL, ни к Firebird? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:38 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovIvan_PisarevskyВариант "все данные в базе ФБ" не рассматривается? Ну, у них же там "данные в MS SQL меняются в реальном времени". Очевидно, что это делается приложением ТСа, который смог заставить его работать только с MS SQL. Почему нельзя переточить "приложение заточенное на Firebird" под MS SQL - непонятно, вероятно, оно купленное без исходников. На самом деле есть два приложения. 1. Работает с MSSQL, исходников нет и не будет, переточка к Firebird невозможна. 2. Работает c Firebird, исходники есть и использует стандартный набор FIB+Ehlib+FastReport, плюс в нем много чего уже наработано и БД в 200 таблиц и 300 ХП. Переточка к MSSQL невозможна, но достаточно трудоемка с моей точки зрения. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:43 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
МимопроходящийHello, Po-stroyka! You wrote on 12 января 2017 г. 13:31:38: Po-stroyka> и еще одна звездочка на борту еще ни одному программисту не повредила ты сильно недооцениваешь вредное влияние ментального онанизма на неокрепший организм не в первой. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:45 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
wadmanpo-stroykaДа и еще одна звездочка на борту еще ни одному программисту не повредила. :-) Не всегда черенок из задницы равняется звездочке на борту. палочка + звездочка = волшебная палочка. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:45 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
wadmanpo-stroykamemorydataset - аналог временной таблицы, хранящейся в оперативной памяти (для оперативности, ведь дисковая подсистема всяко тормознее). возможно не лучше решение, но лет 10 назад встречал что то подобное. только тогда исходников не было, а было только описание для разработчика с описанием где, что и как хранится. документатор хороший попался видимо. То есть этот датасет не имеет никакого отношения ни к MS SQL, ни к Firebird? именно. данные получаем из mssql, кладем в memorydataset и закрываем соединение с mssql. а дальше с помощью udf-ок (который видимо тоже придется разработать) работаем с memorydataset внутри хранимой процедуры. например так. dsfirst(handler); while (not dseof(handler)) do begin i = dsgetintvalue('fieldname'); --для целочисленных полей s = dsgetstringvalue('fieldname'); --для строковых полей dsnext(handler); end только тут еще больше UDF-ок накатать придется. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:50 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroykawadmanпропущено... То есть этот датасет не имеет никакого отношения ни к MS SQL, ни к Firebird? именно. данные получаем из mssql, кладем в memorydataset и закрываем соединение с mssql. а дальше с помощью udf-ок (который видимо тоже придется разработать) работаем с memorydataset внутри хранимой процедуры. например так. dsfirst(handler); while (not dseof(handler)) do begin i = dsgetintvalue('fieldname'); --для целочисленных полей s = dsgetstringvalue('fieldname'); --для строковых полей dsnext(handler); end только тут еще больше UDF-ок накатать придется. что скажете, товарищи? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:51 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Hello, Po-stroyka! You wrote on 12 января 2017 г. 13:57:16: Po-stroyka> что скажете, товарищи? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 13:58 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
МимопроходящийHello, Po-stroyka! You wrote on 12 января 2017 г. 13:57:16: Po-stroyka> что скажете, товарищи? не помогает! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 14:11 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroyka2. Работает c Firebird, исходники есть и использует стандартный набор FIB+Ehlib+FastReport, плюс в нем много чего уже наработано и БД в 200 таблиц и 300 ХП. Переточка к MSSQL невозможна, но достаточно трудоемка с моей точки зрения. То, что ты пытаешься сделать, ещё более трудоёмко. Поэтому забудь и начинай перетачивать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 14:31 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroykaНа самом деле есть два приложения. 1. Работает с MSSQL, исходников нет и не будет, переточка к Firebird невозможна. 2. Работает c Firebird, исходники есть и использует стандартный набор FIB+Ehlib+FastReport, плюс в нем много чего уже наработано и БД в 200 таблиц и 300 ХП. Переточка к MSSQL невозможна, но достаточно трудоемка с моей точки зрения. В свете сказанного разумнее бы впихнуть требуемое в само приложение. Если не хочется трогать кусок, читающий из ФБ, можно просто перед ним вызывать процедуру, которая бы перекачивала данные из МССКЛ в ФБ (встроенно или вызывая отдельную утилиту - не суть). Ну это как вариант. В общем-то, метод из UDF тоже будет работать, несмотря на потоки гнева со стороны здешних старожилов. Окромя вызывающей возмущение вышеупомянутых товарищей хитровыдрюченной методики, возражений в плане реализуемости и даже надежности я не нахожу. Судя по отсутствию указания конкретных минусов, данные товарищи также возразить по существу не могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 14:34 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroykaданные получаем из mssql, кладем в memorydataset GTT и закрываем соединение с mssql. а дальше с помощью udf-ок (который видимо тоже придется разработать) работаем с memorydataset GTT штатными механизмами ФБ внутри хранимой процедуры.поправ е л ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 14:51 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Ivan_Pisarevskyпоправел Ну, раз аффтар признался, что исходники софтины, работающей с Firebird, есть, то можно спокойно пропустить все этапы работы с GTT, а хранимую процедуру перенести в MS SQL, откуда её и вызывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 14:57 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovхранимую процедуру перенести в MS SQL,Ну мало ли, может решительно никто у них не умеет писать хранимки на М$SQL, а ФБшные так или иначе осилили. Может "политика партии" запрещает менять метаданные M$ базы. Слить простым селектом из дельфовой софтины некий список таблиц в ФБ задача из разряда курсовика обычного ВУЗа. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:01 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
po-stroyka... На самом деле есть два приложения. 1. Работает с MSSQL, исходников нет и не будет, переточка к Firebird невозможна. 2. Работает c Firebird, исходники есть и использует стандартный набор FIB+Ehlib+FastReport, плюс в нем много чего уже наработано и БД в 200 таблиц и 300 ХП. Переточка к MSSQL невозможна, но достаточно трудоемка с моей точки зрения. А что мешает тогда вызывать хранимую процедуру MSSQL из Delphi, а результат ее работы пересылать через Linked Server в базу Firebird? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:22 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Решать с помощью UDF - ещё бОльшее извращение, чем реализовать тот же код заливки из MSSQL в GTT в самом приложении при получении данных. Подсказка. Репликатор может заливать данные в Firebird почти в реальном времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:28 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Filippov DmitryА что мешает тогда вызывать хранимую процедуру MSSQL из Delphi, а результат ее работы пересылать через Linked Server в базу Firebird? Лично мне мешала бы полная бессмысленность такого действа: если я могу вызвать процедуру в MS SQL, я могу и получить непосредственно от неё результат, не напрягая второй сервер. И так в MS SQL нет ограничения на число баз. Не дают создать процедуру прямо в нужной базе - создам под неё совсем новую базу и буду данные тянуть из первой. Там это делается просто. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:30 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
WildSery, на сколько я понял, 2 базы живут разными жизнями, а ТС нужен результат отработки именно конкретного расчета. Про репликацию всех данных он и не говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:31 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Filippov Dmitry, А не надо всех, надо одну табличку, данные которой получаются из процедуры MSSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:40 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Ivan_Pisarevskypo-stroykaданные получаем из mssql, кладем в memorydataset GTT и закрываем соединение с mssql. а дальше с помощью udf-ок (который видимо тоже придется разработать) работаем с memorydataset GTT штатными механизмами ФБ внутри хранимой процедуры.поправ е л Обратимся к терминам. 1. Что есть GTT? 2. Что есть CT (видел в ранних сообщениях)? Просветите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 20:03 |
|
Интеграция Firebird и MSSQL Server
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovpo-stroyka2. Работает c Firebird, исходники есть и использует стандартный набор FIB+Ehlib+FastReport, плюс в нем много чего уже наработано и БД в 200 таблиц и 300 ХП. Переточка к MSSQL невозможна, но достаточно трудоемка с моей точки зрения. То, что ты пытаешься сделать, ещё более трудоёмко. Поэтому забудь и начинай перетачивать. Возможность менять структуру БД MSSQL отсутствует: злой админ и другие разработчики. Хранимую процедуру, которую нужно вызывать, также могут менять только эти же разработчики. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 20:10 |
|
|
start [/forum/topic.php?fid=40&msg=39383117&tid=1561761]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 158ms |
0 / 0 |