|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, А idl-ку к ODBC не пробовал переправить и пересобрать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 20:57 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
White Owl Вот для .Net такой оберткой и является ADO.Net ado.net не требует никаих обёрток ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:10 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
mayton А в стеке технологий если сравнить ODBC/Ado что у них общее? ADO (который классический, не .NET) является обёрткой для OLEDB. OLEDB кроме нативных провайдеров имеет обёртку над ODBC нативный майкрософтовский dblib давно похоронен ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:34 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
mayton А в стеке технологий если сравнить ODBC/Ado что у них общее? Или есть ли какая-то поясняющая картинка как идет современная интеграция приложений Microsoft с MSSQL? ИЛи там какие есть best-practices. Рекомендации... В среднем, для простоты понимания, можно говорить что ADO и ODBC это родные братья, но ADO для тех языков которые предпочитают работать с классами, а ODBC для языков предпочитающих функции. По возможностям и количеству фич они практически равны. С точки зрения практической реализации, большинство ADO подключений к СУБД это всего-лишь использование моста ODBC-OLEDB-ADO с ODBC драйвером делающим реальные TCP запросы, а клиентская программа работает на ADO. Практически, вплоть до появления ADO.Net не существовало ADO драйверов. А рекомендации... Все зависит от СУБД и языка на котором пишется клиент. В среднем, можно брать тот интерфейс который более удобен с точки зрения языка клиента (и это чаще всего ADO). Потери производительности на обертке можно игнорировать. Но бывают ODBC драйвера с "расширениями вендора" которые дают больше функциональности. Например ODBC для SA позволяет делать push сообщений на клиента из хранимых процедур - чрезвычайно вкусная штука, но доступная только для прямого использования ODBC. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 23:40 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Изопропил mayton А в стеке технологий если сравнить ODBC/Ado что у них общее? ADO (который классический, не .NET) является обёрткой для OLEDB. OLEDB кроме нативных провайдеров имеет обёртку над ODBC нативный майкрософтовский dblib давно похоронен Когда Microsoft купила у Sybase исходники их СУБД - купили и исходники клиентского интерфейса (dblib). Долгое время, dblib был единственной возможностью подключаться к обоим СУБД (Sybase и MS SQL Server). Потом энтузиасты взломали этот интерфейс и родился FreeTDS. Потом у Microsoft появились другие СУБД (FoxPro, Access) и возникла необходимость поддерживать три разных интерфейса - родился ODBC. Новый интерфейс стал "родным" для MS SQL Server и dblib в Микрософте умер. А вот Sybase продолжала его поддерживать, но параллельно и новый интерфейс начали разрабатывать - родился CTlib. Оба интерфейса dblib и CTlib продолжали распространятся в каждой новой версии (теперь уже) Sybase Adaptive Server Enterprise. И вместе они назывались Open Client. Потом Open Client начал включать в себя и ODBC и OLE DB драйвера. Сейчас, когда эта СУБД уже носит имя SAP Sybase Adaptive Server Enterise - dblib продолжает существовать в каталоге на клиентском диске. Но я не знаю ни одного существующего проекта который не был бы переведен на CTlib или ODBC. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 23:54 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
White Owl, Если точнее - Ado.net ничего общего с ado не имеет кроме похожего названия Ado обертка над oledb, в odbc не нуждается ( хотя мост oledb-odbc существует) Oledb поддерживает нереляционные источники - https://www.ibm.com/support/pages/oledb-ole-db-and-odbc-positioning ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 00:13 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Изопропил White Owl, Если точнее - Ado.net ничего общего с ado не имеет кроме похожего названия Изопропил Ado обертка над oledb, в odbc не нуждается ( хотя мост oledb-odbc существует) Изопропил Oledb поддерживает нереляционные источники - https://www.ibm.com/support/pages/oledb-ole-db-and-odbc-positioning И вообще, мы ушли от изначальной темы топика, поэтом прекращаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 00:54 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Dimitry Sibiryakov, А idl-ку к ODBC не пробовал переправить и пересобрать? сишные заголовки не исходные, а автогенирируемые если надо только константы, то урвать их с библиотеки типов и отформатировать "как надо" дело недолгое ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 09:52 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
kealon(Ruslan)сишные заголовки не исходные, а автогенирируемые У ODBC - исходные. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 13:42 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а где конфликт sql.h и ibase.h ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:07 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Изопропила где конфликт sql.h и ibase.h ? Например, SQL_TYPE_DATE. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:15 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, мешает ненужный sqlda_pub.h ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:56 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Изопропилмешает ненужный sqlda_pub.h ? "Ненужный"?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 15:08 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Изопропилмешает ненужный sqlda_pub.h ? "Ненужный"?.. если нужный - зачем тогда #undef SQL_INTEGER ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 15:43 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov полудухпо сути ты хочешь это: Да. И ещё "#undef SQL_INTEGER" после этого. Если в три строчки, то можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Если никто не берет адреса от TMP_... то оно как-бы и не должно быть в памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 16:18 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Дай более корректную картинку. Я обычно начинаю изучение вопроса со стека зависимостей. Кто что вызывает и кто от чего зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 17:35 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
mayton White Owl пропущено... Врут. Дай более корректную картинку. Я обычно начинаю изучение вопроса со стека зависимостей. Кто что вызывает и кто от чего зависит. В общем ситуация простая: У каждой СУБД есть собственный протокол общения с клиентами. SQL или не-SQL СУБД не важно. Каждый такой протокол имеет собственный интерфейс который может использоваться клиентом - в этом случае клиент получает полный доступ к возможностям СУБД. Но эти интерфейсы уникальны для каждой СУБД и не совместимы между собой (исключение родственные протоколы). Кроме уникальных (родных) интерфейсов существует группа универсальных интерфейсов рассчитанных на использование в конкретном языке (группе языков). Тогда мы говорим о "драйвере для СУБД" в рамках интерфейса. Драйвер для СУБД реализует протокол общения между СУБД и машиной клиента, и выступает переводчиком между клиентским интерфейсом и протоколом. Если интерфейс SQL, а сама СУБД не SQL, то парсер языка вставляется внутрь драйвера, между собственно клиентским интерфейсом и драйвером протокола. За исключением ADO который является полной оберткой надо OLE DB и полностью зависит от драйвера реализованного в OLE DB. Однако так как существует стандартный драйвер-мост OLE DB - ODBC то и ADO может работать на ODBC драйвере. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 18:17 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
White Owl, OK спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 19:07 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
White OwlОднако так как существует стандартный драйвер-мост OLE DB - ODBC то и ADO может работать на ODBC драйвере. В результате ODBC драйвер переводит нативный интерфейс в ODBC интерфейс, потом OLE DB провайдер для ODBC переводит ODBC интерфейс в OLE DB интерфейс, потом ADO обёртка переводит OLE DB интерфейс в ADO интерфейс. В особо запущенных случаях ADO интерфейс переводится в VCL DB интерфейс (для Delphi мышевозников) или обратно в нативный интерфейс (для MS DB Links). "А теперь мы со всей этой фигнёй попытаемся взлететь." (c) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 19:37 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov White OwlОднако так как существует стандартный драйвер-мост OLE DB - ODBC то и ADO может работать на ODBC драйвере. В результате ODBC драйвер переводит нативный интерфейс в ODBC интерфейс, потом OLE DB провайдер для ODBC переводит ODBC интерфейс в OLE DB интерфейс, потом ADO обёртка переводит OLE DB интерфейс в ADO интерфейс. В особо запущенных случаях ADO интерфейс переводится в VCL DB интерфейс (для Delphi мышевозников) или обратно в нативный интерфейс (для MS DB Links). "А теперь мы со всей этой фигнёй попытаемся взлететь." (c)Да. Но на практике это работает и вполне успешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 20:00 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
и каждый раз строка будет переводиться в новый интерфейс? т.е. 4-5 copy? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 23:48 |
|
Конкатенация в макросе
|
|||
---|---|---|---|
#18+
полудух и каждый раз строка будет переводиться в новый интерфейс? т.е. 4-5 copy? в случае MSSQL - OLEDB и ODBC реализованы как нативные, никаких прокладок и лишних копирований ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2020, 00:49 |
|
|
start [/forum/topic.php?fid=57&msg=39920054&tid=2017485]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 148ms |
0 / 0 |