powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / возможно ли запросить SQL-диалект подключения?
25 сообщений из 63, страница 1 из 3
возможно ли запросить SQL-диалект подключения?
    #39807674
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochкстати, как в IBE задать 1-й диалект для подключения к БД 3-го диалекта? для тестирования

Никак.
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807695
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Т.е. саму DPB-константу задать можно, а её параметры ни в скобках и никак иначе не передать? обидно....
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807701
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochТ.е. саму DPB-константу задать можно, а её параметры ни в скобках и никак иначе не передать? обидно....

Константу-то задать можно (sql_dialect=1), но эксперт выставит диалект соединения равным диалекту базы.
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807704
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

ах вот какой синтаксис....
тьфу, все пробовал это не попробовал.

> эксперт выставит диалект соединения равным диалекту базы.

даже если пользователь СПЕЦИАЛЬНО ввёл override ???
а можно это поправить ?

-------------

Кстати, а как вообще это может быть, что "эксперт выставит диалект соединения равным диалекту базы." ?

Чтобы узнать диалект БД - ты должен сначала к ней подключиться, а потом ПОСЛЕ подключения запросить диалект через API или MON$DATABASE.
А чтобы менять диалект подключения - надо ещё ДО самого подключения.
Курица и яйцо.
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807706
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё ты пишешь, что сам документацией не занимаешься, и если её надо править - чтобы я в другое место писал

а в какое?
на форуме регаться и в IBExpert Bug Reports ? или есть более прямые пути?

хотя это не вдохновляет, что ты сам внутри компании не напишешь.
если тебя проигнорируют - меня тем более
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807710
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не диалект самой БД, а именно диалект подключения к БД!

тот, который через isc_DPB_sql_dialect 1 задаётся

в доках ничего не нашёл

c:\Program Files\Firebird\Firebird_2_1\doc\sql.extensions\README.context_variables2.txt
c:\Program Files\Firebird\Firebird_2_1\doc\README.monitoring_tables.txt
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807712
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochКстати, а как вообще это может быть, что "эксперт выставит диалект соединения равным диалекту базы." ?

Чтобы узнать диалект БД - ты должен сначала к ней подключиться, а потом ПОСЛЕ подключения запросить диалект через API или MON$DATABASE.
А чтобы менять диалект подключения - надо ещё ДО самого подключения.


В компонентах доступа "диалект подключения" - это просто переменная, которую можно изменить в любое время. Значение этой переменной передается некоторым API-функциям вроде isc_dsql_execute.
Трогать я там ничего не буду.
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807716
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertВ компонентах доступа "диалект подключения" - это просто переменная, которую можно изменить в любое время

по здравому смыслу - она либо не используется, либо используется неявно при постройке DPB

жаль, что не будешь

тогда ты и AV не пофиксишь, если в generateDPB(...) соваться не хочешь
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807718
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.
Обсуждали уже
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807720
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochи ещё ты пишешь, что сам документацией не занимаешься, и если её надо править - чтобы я в другое место писал

а в какое?
на форуме регаться и в IBExpert Bug Reports ? или есть более прямые пути?

На сайте должен быть адрес для обратной связи.

Ariochхотя это не вдохновляет, что ты сам внутри компании не напишешь.
если тебя проигнорируют - меня тем более

Ты действительно думаешь, что я в одиночку могу и эксперт вылизать, и ваши претензии к документации немцам транслировать?
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807726
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochIBExpertВ компонентах доступа "диалект подключения" - это просто переменная, которую можно изменить в любое время

по здравому смыслу - она либо не используется, либо используется неявно при постройке DPB

Нафиг фантазировать? Посмотри синтаксис той же isc_dsql_execute.
Эксперт коннектится, проверяет диалект базы и устанавливает значение этой переменной. Все.

Ariochтогда ты и AV не пофиксишь, если в generateDPB(...) соваться не хочешь

Это как раз несложно пофиксить.
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807727
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ISC_STATUS ISC_EXPORT isc_dsql_execute(ISC_STATUS*,
									   isc_tr_handle*,
									   isc_stmt_handle*,
									   unsigned short,
									   XSQLDA*);

ISC_STATUS ISC_EXPORT isc_dsql_execute2(ISC_STATUS*,
										isc_tr_handle*,
										isc_stmt_handle*,
										unsigned short,
										XSQLDA*,
										XSQLDA*);



нет тут никакого диалекта

только database handle

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#define SQLDA_VERSION1          1

typedef struct
{
        ISC_SHORT       version;                        
        ISC_SCHAR       sqldaid[8];                     
        ISC_LONG        sqldabc;                        
        ISC_SHORT       sqln;                           
        ISC_SHORT       sqld;                           
        XSQLVAR sqlvar[1];                      
} XSQLDA;



и тут нет

можно ещё посмотреть в API GUIDE - page 256 и page 87
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807730
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

SQL диалект подключения влияет только на интерпретацию роли при самом и не хранится в свойствах подключения
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807731
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашёл только одно место

Код: plaintext
1.
2.
3.
4.
isc_dsql_execute_immediate
...
dialect unsigned short •Indicates the SQL dialect of statement
•Must be less than or equal to the SQL dialect of the client



"dialect of the client" - шикарная фраза, об неё уже спотыкались когда-то
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807734
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochнет тут никакого диалекта


Это у тебя нет. У меня есть:

Код: pascal
1.
2.
3.
4.
5.
Tisc_dsql_execute = function    (status_vector            : PISC_STATUS;
				 tran_handle              : PISC_TR_HANDLE;
                                 stmt_handle              : PISC_STMT_HANDLE;
                                 dialect                  : UShort;
                                 xsqlda                   : PXSQLDA): ISC_STATUS;
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807737
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

Ariochнет тут никакого диалекта

плохо смотришь

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ISC_STATUS isc_dsql_prepare(
  ISC_STATUS *status_vector,
  isc_tr_handle *trans_handle,
  isc_stmt_handle *stmt_handle,  
  unsigned short length,
  char *statement,
  unsigned short dialect,
  XSQLDA *xsqlda);
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807744
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertAriochнет тут никакого диалекта


Это у тебя нет. У меня есть:

Код: pascal
1.
2.
3.
4.
5.
Tisc_dsql_execute = function    (status_vector            : PISC_STATUS;
				 tran_handle              : PISC_TR_HANDLE;
                                 stmt_handle              : PISC_STMT_HANDLE;
                                 dialect                  : UShort;
                                 xsqlda                   : PXSQLDA): ISC_STATUS;



Это уже творчество... Бузаджи, кажется.

В ibase.h такого нет - ни в 2.1, ни в 2.5.8, ни в 3.0.4

Веселуха...
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807754
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

потому что диалект важен на этапе prepare, а не выполнения
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807756
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНет.
Обсуждали уже

Хорошо бы какой-нибудь документ свети технический, и опубликовать либо на сайте либо даже в дистрибутиве


Симонов ДенисSQL диалект подключения влияет только на интерпретацию роли при самом и не хранится в свойствах подключения

а как он на роль влияет ?
в API Guide такого не нашёл

зато в API Guide в трёх местах есть загадочное "Must be less than or equal to the SQL dialect of the client "
и да, помню когда то об этот коан уже спотыкались....

три места - это prepare, execute_immed и execute_immed2

ну и плюс ещё FIBC/FIB+ - ты уже сам нашёл 21874617
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807759
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochа как он на роль влияет ?

квотированные роли допускает в 3-ем диалекте. В общем тот же принцип как и для других идентификаторов, которые по разному ведут себя в 1 и 3-м диалекта.
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807761
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertAriochнет тут никакого диалекта


Это у тебя нет. У меня есть:

Код: pascal
1.
2.
3.
4.
5.
Tisc_dsql_execute = function    (status_vector            : PISC_STATUS;
				 tran_handle              : PISC_TR_HANDLE;
                                 stmt_handle              : PISC_STMT_HANDLE;
                                 dialect                  : UShort;
                                 xsqlda                   : PXSQLDA): ISC_STATUS;



Погоди-погоди, FIBC/FIB+ туда реально диалект БД пихают ?????

Это не диалект БД, это диалект SQLDA !!!!

API Guide PDFISC_STATUS isc_dsql_execute(
ISC_STATUS *status_vector,
isc_tr_handle *trans_handle,
isc_stmt_handle *stmt_handle,
unsigned short da_version,
XSQLDA *xsqlda);

Parameter Type Description
status_vector ISC_STATUS * Pointer to the error status vector
trans_handle isc_tr_handle * Pointer to a transaction handle whose value has been set
by a previous isc_start_transaction() call; trans_handle
returns an error if NULL
stmt_handle isc_stmt_handle * Pointer to a statement handle previously allocated with
isc_dsql_allocate_statement() or
isc_dsql_alloc_statement2(); returns an error in
status_vector if NULL
da_version unsigned short Indicates the version of the extended SQL descriptor area
( XSQLDA ) passed to the function; set this value to 1

xsqlda XSQLDA * Pointer to a previously allocated XSQLDA used for input


Arioch
Код: plaintext
1.
#define SQLDA_VERSION1          1
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807766
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

квотирование - это DSQL
CREATE ROLE и ля-ля-ля

но это уже ПОСЛЕ подключения

а НА ЭТАПЕ подключения ещё никакого DSQL нет

роль описывается api guide page 45 - там это просто бинарное поле, там кавычки смысла не имеют
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807767
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

как можно перевести слова версия как диалект? Пои идее в 4.0 могли бы версию XSQLDA поднять из-за того что размерность идентификаторов в XSQLVAR подросла, но на это вроде как забили. Впрочем никто не мешает запихать туда другую структуру, уж не знаю отработает ли оно правильно в старом API
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807774
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,
кавычки нет, регистрочувствительность имеет
...
Рейтинг: 0 / 0
возможно ли запросить SQL-диалект подключения?
    #39807780
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochПогоди-погоди, FIBC/FIB+ туда реально диалект БД пихают ?????

Это не диалект БД, это диалект SQLDA !!!!


Мне пофигу. Версия SQLDA есть в xsqlda, которая передается следующим параметром.
Не морочь мне голову, короче. 20 лет оно работает и пусть дальше так и работает.
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / возможно ли запросить SQL-диалект подключения?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]