powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подмена запроса на стороне сервера Firebird
25 сообщений из 80, страница 3 из 4
Подмена запроса на стороне сервера Firebird
    #40086853
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно поможет создание View с такими названиями полей, которые захочется... С помощью View можно решать огромное количество самых разнообразных проблем, думаю, что и эта проблема из их числа.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086855
Andrey_RedCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Andrey_RedCatА что я могу на стороне клиента, не ковыряясь в его исходниках и не пересобирая весь астериск?

А почему, собственно, "не ковыряясь в его исходниках"? Это самый надёжный способ
определить как им запросы формируются. Пересборка не требуется, достаточно понять почему
сыплются предупреждения и как формируются запросы, вызывающие ошибки.

Andrey_RedCatА можно чуть подробнее?

Какое слово из "настройки ODBC DSN" тебе непонятно?

Что именно там дописать, Вы предлагаете подредактировать файл odbc.ini, я правильно понял? Если да то что именно дописать? пока файлик выглядит так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[asterisk]
Description     = Firebird
Driver          = Firebird
Dbname          = 192.168.8.107:/etc/asterisk/asterisk.fdb
User            = SYSDBA
Password        = masterkey
Role            =
CharacterSet    =
ReadOnly        = No
DIALECT         = 3


Файл odbcinst.ini выглядит так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
[Firebird]
Description     = InterBase/Firebird ODBC Driver
Driver          = /usr/lib/libOdbcFb.so
Setup           = /usr/lib/libOdbcFb.so
Threading       = 1
FileUsage       = 1
CPTimeout       =
CPReuse         =
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086857
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
28.07.2021 17:02, bum_bum пишет:
> Возможно поможет создание View с такими названиями полей, которые захочется...

вьюха в этом отношении ничем не отличается от таблицы
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086858
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
в 1-м диалекте можно использовать только a..z, 0..9, $, _.
пользуй вместо дефиса подчёркивание.

Вот это не учел. Значит создавай таблицы в нижнем регистре без кавычек в бд с третьим диалектом
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086859
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bum_bum
поможет создание View с такими названиями полей, которые захочется...

Создашь view c "-" в названиях в первом диалекте?
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086860
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCatЧто именно там дописать, Вы предлагаете подредактировать файл odbc.ini, я правильно понял?

Я предлагаю включить мозг и вместо вываливания конфига на чтение МНЕ, прочитать его
самостоятельно, убедившись, что там "указан третий диалект".

Далее уже можно начать разбираться с конкретными ошибками и предупреждениями
последовательно, не кидаясь в случайные места и "например запросы". Своими лихорадочными
экспериментами ты вводишь в заблуждение и себя и нас, поскольку приведённые тобой ошибки с
разных поз этого танца дождя противоречат друг другу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086862
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCat
Вы предлагаете подредактировать файл odbc.ini, я правильно понял?
[asterisk]
Description = Firebird
Driver = Firebird
Dbname = 192.168.8.107:/etc/asterisk/asterisk.fdb
User = SYSDBA
Password = masterkey
Role =
CharacterSet =
ReadOnly = No
DIALECT = 3

Да, вы правильно поняли. Диалект подсветил красным. Т.к. в диалекте 1 названия объектов не создать с символами "-", то вопрос с настройкой диалекта отпадает.
Делайте что я писал выше и проверяйте. Не надо метаться из стороны в сторону, Дмитрий правильно говорит.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086863
Andrey_RedCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemar
Andrey_RedCat,

ок. Тогда ваши действия такие:
1. Создаем таблицы в бд с диалектом 3 в нижнем регистре и без кавычек.
2. Проверяем как работает Астериск.
Пишем сюда о результатах, ошибки - в студию.
В случает ошибок создает бд в первом диалекте и таблицы в нижнем регистре и без кавычек.
Также проверяем. В настройках ODBC не забываем указывать диалект.

Не хочет создавать таблицу ошибка:
Код: sql
1.
2.
3.
4.
5.
Statement failed, SQLSTATE = 27000
unsuccessful metadata update
-CREATE TABLE SIPPEERS failed
-action cancelled by trigger (3) to preserve data integrity
-Attempt to define a second PRIMARY KEY for the same table


Создаю так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
CREATE TABLE sippeers (
    id INTEGER generated by default as identity primary key,
    name VARCHAR(40) NOT NULL, 
    ipaddr VARCHAR(45), 
    port INTEGER, 
    regseconds INTEGER, 
    defaultuser VARCHAR(40), 
    fullcontact VARCHAR(80), 
    regserver VARCHAR(20), 
    useragent VARCHAR(20), 
    lastms INTEGER, 
    host VARCHAR(40), 
    type PEERTYPEENUM,
    context VARCHAR(40), 
    permit VARCHAR(95), 
    deny VARCHAR(95), 
    secret VARCHAR(40), 
    md5secret VARCHAR(40), 
    remotesecret VARCHAR(40), 
    transport TRANSPORTENUM,
    dtmfmode DTMFENUM ,
    directmedia DRCTMDENUM,
    nat VARCHAR(29), 
    callgroup VARCHAR(40), 
    pickupgroup VARCHAR(40), 
    language VARCHAR(40), 
    disallow VARCHAR(200), 
    allow VARCHAR(200), 
    insecure VARCHAR(40), 
    trustrpid YESNOENUM,
    progressinband PRGBNDENUM,
    promiscredir YESNOENUM,
    useclientcode YESNOENUM,
    accountcode VARCHAR(40), 
    setvar VARCHAR(200), 
    callerid VARCHAR(40), 
    amaflags VARCHAR(40), 
    callcounter YESNOENUM,
    busylevel INTEGER, 
    allowoverlap YESNOENUM,
    allowsubscribe YESNOENUM,
    videosupport YESNOENUM,
    maxcallbitrate INTEGER, 
    rfc2833compensate YESNOENUM,
    mailbox VARCHAR(40), 
    "session-timers" SESTIMENUM,
    "session-expires" INTEGER,
    "session-minse" INTEGER,
    "session-refresher" SESREFRENUM,
    t38pt_usertpsource VARCHAR(40), 
    regexten VARCHAR(40), 
    fromdomain VARCHAR(40), 
    fromuser VARCHAR(40), 
    qualify VARCHAR(40), 
    defaultip VARCHAR(45), 
    rtptimeout INTEGER, 
    rtpholdtimeout INTEGER, 
    sendrpid YESNOENUM,
    outboundproxy VARCHAR(40), 
    callbackextension VARCHAR(40), 
    timert1 INTEGER, 
    timerb INTEGER, 
    qualifyfreq INTEGER, 
    constantssrc YESNOENUM,
    contactpermit VARCHAR(95), 
    contactdeny VARCHAR(95), 
    usereqphone YESNOENUM,
    textsupport YESNOENUM,
    faxdetect YESNOENUM,
    buggymwi YESNOENUM,
    auth VARCHAR(40), 
    fullname VARCHAR(40), 
    trunkname VARCHAR(40), 
    cid_number VARCHAR(40), 
    callingpres CALLGPRESENUM,
    mohinterpret VARCHAR(40), 
    mohsuggest VARCHAR(40), 
    parkinglot VARCHAR(40), 
    hasvoicemail YESNOENUM,
    subscribemwi YESNOENUM,
    vmexten VARCHAR(40), 
    autoframing YESNOENUM,
    rtpkeepalive INTEGER, 
    "call-limit" INTEGER,
    g726nonstandard YESNOENUM,
    ignoresdpversion YESNOENUM,
    allowtransfer YESNOENUM,
    dynamic YESNOENUM,
    path VARCHAR(256), 
    supportpath YESNOENUM,
    PRIMARY KEY (id), 
    UNIQUE (name)
);



Хотя этим запросом в IBExpert все создавалось
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086866
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCat, создайте новую базу и в ней создавайте таблицы, такое ощущение, что в бд какие-то остатки старых метаданных есть. Ошибка подсказывает, что пытаетесь дважды создать первичный ключ.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086867
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И я просил убрать кавычки.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086868
Andrey_RedCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemar
И я просил убрать кавычки.

Таблица новая, ошибка была изза PRIMARY KEY (id), т.к. в начале я делаю id превичным ключем id INTEGER generated by default as identity primary key
без кавычек не получается создать столбцы с именем session-timers и им подобные, т.к. в названии присутствует дефис и вылетает ошибка:
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 46, column 12
--
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086869
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCatХотя этим запросом в IBExpert все создавалось

Врёшь. Такое технически не может работать вне зависимости от клиентского приложения:
Код: sql
1.
2.
3.
id INTEGER generated by default as identity primary key,
.....
PRIMARY KEY (id)


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086871
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCatбез кавычек не получается создать столбцы с именем session-timers и им подобные

Так не создавай их. Зачем они тебе?
http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/I_section12_tt1465.html#Database_id243940

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086872
Andrey_RedCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создал без кавычек
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'name', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'ipaddr', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'port', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'regseconds', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'defaultuser', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'fullcontact', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'regserver', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'useragent', but that column does not exist!
[Jul 28 19:46:49] WARNING[1345]: res_config_odbc.c:1224 require_odbc: Realtime table sippeers@Firebird requires column 'lastms', but that column does not exist!
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086875
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCat,
подключись через isql, выполни
show table sippeers;
и покажи вывод сюда. В IBExpert как трассировку запускать знаешь?
Нужно проверить какой запрос идет к бд.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086876
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCatres_config_odbc.c:1224

Вот теперь можешь лезть в исходники, читать указанную строчку и смотреть почему поле не
находится. Может, в конфиге астерикса его надо указать в верхнем регистре, может он
неправильно обрабатывает атрибут SQL_IDENTIFIER_CASE или вообще его игнорирует или ещё
100500 причин.

Это чисто астериксовское предупреждение, к Firebird отношения не имеющее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086877
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_RedCat
Код: plaintext
[Jul 28 19:46:49]  WARNING 
Память девичья или перевести подчёркнутое на русский?
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086902
bum_bum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemar, если база данных создана с "-" в названиях полей, то почему View не может быть создана с теми же дефисами? Но написание букв во View можно изменить на те, которые нужны.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086913
Andrey_RedCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemar
Andrey_RedCat,
подключись через isql, выполни
show table sippeers;
и покажи вывод сюда. В IBExpert как трассировку запускать знаешь?
Нужно проверить какой запрос идет к бд.

Сейчас попробую подключиться, только до дому добрался. Как трассировать не знаю, буду очень благодарен если подскажите, трассировка это всегда гуд.
Dimitry Sibiryakov

Andrey_RedCatres_config_odbc.c:1224

Вот теперь можешь лезть в исходники, читать указанную строчку и смотреть почему поле не
находится. Может, в конфиге астерикса его надо указать в верхнем регистре, может он
неправильно обрабатывает атрибут SQL_IDENTIFIER_CASE или вообще его игнорирует или ещё
100500 причин.

Это чисто астериксовское предупреждение, к Firebird отношения не имеющее.

Да как бы не хотелось, но скорее всего придется (

Basil A. Sidorov
Andrey_RedCat
Код: plaintext
[Jul 28 19:46:49]  WARNING 
Память девичья или перевести подчёркнутое на русский?

Я знаю что варнинг это предупреждение, но это же Не значит что их нужно всегда игнорировать, тем более астериск не много неадекватно работает.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086919
Andrey_RedCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemar
Andrey_RedCat,
подключись через isql, выполни
show table sippeers;
и покажи вывод сюда. В IBExpert как трассировку запускать знаешь?
Нужно проверить какой запрос идет к бд.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
SQL> show table sippeers
CON> ;
ID                              INTEGER Not Null Identity (by default)
NAME                            VARCHAR(40) Not Null
IPADDR                          VARCHAR(45) Nullable
PORT                            INTEGER Nullable
REGSECONDS                      INTEGER Nullable
DEFAULTUSER                     VARCHAR(40) Nullable
FULLCONTACT                     VARCHAR(80) Nullable
REGSERVER                       VARCHAR(20) Nullable
USERAGENT                       VARCHAR(20) Nullable
LASTMS                          INTEGER Nullable
HOST                            VARCHAR(40) Nullable
TYPE                            (PEERTYPEENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('friend','user','peer'))
CONTEXT                         VARCHAR(40) Nullable
PERMIT                          VARCHAR(95) Nullable
DENY                            VARCHAR(95) Nullable
SECRET                          VARCHAR(40) Nullable
MD5SECRET                       VARCHAR(40) Nullable
REMOTESECRET                    VARCHAR(40) Nullable
TRANSPORT                       (TRANSPORTENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('udp','tcp','tls','ws','wss','udp,tcp','tcp,udp'))
DTMFMODE                        (DTMFENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('rfc2833','info','shortinfo','inband','auto'))
DIRECTMEDIA                     (DRCTMDENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no','nonat','update'))
NAT                             VARCHAR(29) Nullable
CALLGROUP                       VARCHAR(40) Nullable
PICKUPGROUP                     VARCHAR(40) Nullable
LANGUAGE                        VARCHAR(40) Nullable
DISALLOW                        VARCHAR(200) Nullable
ALLOW                           VARCHAR(200) Nullable
INSECURE                        VARCHAR(40) Nullable
TRUSTRPID                       (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
PROGRESSINBAND                  (PRGBNDENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no','never'))
PROMISCREDIR                    (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
USECLIENTCODE                   (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
ACCOUNTCODE                     VARCHAR(40) Nullable
SETVAR                          VARCHAR(200) Nullable
CALLERID                        VARCHAR(40) Nullable
AMAFLAGS                        VARCHAR(40) Nullable
CALLCOUNTER                     (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
BUSYLEVEL                       INTEGER Nullable
ALLOWOVERLAP                    (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
ALLOWSUBSCRIBE                  (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
VIDEOSUPPORT                    (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
MAXCALLBITRATE                  INTEGER Nullable
RFC2833COMPENSATE               (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
MAILBOX                         VARCHAR(40) Nullable
T38PT_USERTPSOURCE              VARCHAR(40) Nullable
REGEXTEN                        VARCHAR(40) Nullable
FROMDOMAIN                      VARCHAR(40) Nullable
FROMUSER                        VARCHAR(40) Nullable
QUALIFY                         VARCHAR(40) Nullable
DEFAULTIP                       VARCHAR(45) Nullable
RTPTIMEOUT                      INTEGER Nullable
RTPHOLDTIMEOUT                  INTEGER Nullable
SENDRPID                        (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
OUTBOUNDPROXY                   VARCHAR(40) Nullable
CALLBACKEXTENSION               VARCHAR(40) Nullable
TIMERT1                         INTEGER Nullable
TIMERB                          INTEGER Nullable
QUALIFYFREQ                     INTEGER Nullable
CONSTANTSSRC                    (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
CONTACTPERMIT                   VARCHAR(95) Nullable
CONTACTDENY                     VARCHAR(95) Nullable
USEREQPHONE                     (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
TEXTSUPPORT                     (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
FAXDETECT                       (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
BUGGYMWI                        (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
AUTH                            VARCHAR(40) Nullable
FULLNAME                        VARCHAR(40) Nullable
TRUNKNAME                       VARCHAR(40) Nullable
CID_NUMBER                      VARCHAR(40) Nullable
CALLINGPRES                     (CALLGPRESENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib'))
MOHINTERPRET                    VARCHAR(40) Nullable
MOHSUGGEST                      VARCHAR(40) Nullable
PARKINGLOT                      VARCHAR(40) Nullable
HASVOICEMAIL                    (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
SUBSCRIBEMWI                    (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
VMEXTEN                         VARCHAR(40) Nullable
AUTOFRAMING                     (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
RTPKEEPALIVE                    INTEGER Nullable
G726NONSTANDARD                 (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
IGNORESDPVERSION                (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
ALLOWTRANSFER                   (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
DYNAMIC                         (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
PATH                            VARCHAR(256) Nullable
SUPPORTPATH                     (YESNOENUM) VARCHAR(20) Nullable
                                CHECK (value IS NULL or VALUE IN ('yes','no'))
CONSTRAINT INTEG_20:
  Primary key (ID)
CONSTRAINT INTEG_22:
  Unique key (NAME)
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086931
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, это isql всё в верхний регистр перевел или пациент забил и всё в верхнем регистре создал?
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086940
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar
Коллеги, это isql всё в верхний регистр перевел или пациент забил и всё в верхнем регистре создал?

Это имена созданные без кавычек, которым без разницы регистр.
ISQL выводит их в каком-нибудь виде, в качестве "какого-нибудь" очевидно, берется верхний регистр.

У меня вот так выглядит:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
C:\Users\fraks>isql -user SYSDBA -password 12345 d:\DB25\KANCI_N.FDB
Database:  d:\DB25\KANCI_N.FDB, User: SYSDBA
SQL> show table spod;
ID                              INTEGER Not Null
IDGR                            INTEGER Not Null
NAME                            VARCHAR(100) Not Null DEFAULT ''
NM                              INTEGER Nullable
CONSTRAINT SPOD_FK_IDGR:
  Foreign key (IDGR)    References SGR (ID)
CONSTRAINT SPOD_PK:
  Primary key (ID)

Triggers on Table SPOD:
SPOD_BI_NM, Sequence: 0, Type: BEFORE INSERT, Active
SPOD_NM_NEW2, Sequence: 0, Type: BEFORE UPDATE, Active
SPOD_AD_SA, Sequence: 0, Type: AFTER DELETE, Active
SPOD_AIU_SA, Sequence: 0, Type: AFTER INSERT OR UPDATE, Active
SPOD_AIUD_LOGS, Sequence: 0, Type: AFTER INSERT OR UPDATE OR DELETE, Active
SQL>
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086941
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar
Меня одного смущает NAME в названии поля?
Andrey_RedCat
Column unknown
NAME


Нет проблем с таким именем поля.
У меня в половине таблиц такое поле есть. (FB-2.5.8 диалект 3)
И во всех предыдущих БД, начиная от Interbase-4.2.1 проблем с этим именем не было.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086942
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
-- есть вот такая таблица, для примера.
-- Firebird 2.5.8 dialect 3
-- Все имена без кавычек

CREATE TABLE SGR (
    ID    INTEGER NOT NULL,
    NAME  VARCHAR(100) DEFAULT '' NOT NULL,
    NM    INTEGER
);

-- И обращаться к таблице можно в любом регистре, но только если тоже без кавычек.
-- Ниже - все варианты рабочие

select sgr.name from sgr
select sgr.NAME from SGR
select SGR.name from SGR
select SGr.nAMe from SGR

-- Однако, если мы хотим написать запрос с использованием кавычек, то писАть нужно только вот так
select SGR."NAME" from SGR

-- остальные варианты работать не будут

select SGR."name" from SGR
/*
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
SGR.name.
At line 1, column 8.
*/

-- и кавычки должны быть только двойные. С одинарными - сервер вообще не поймет что речь про поле.
-- У Firebrid в двойных кавычках - имена объектов, в одинарных - строковые константы
select SGR.'NAME' from SGR
/*
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 12.
'NAME'.
*/



Соответственно, для работы с БД приложение (астериск) должен писАть запросы определенным образом - либо вообще без кавычек, либо в двойных кавычках, при этом имена полей в запросе нужно приводить к верхнему регистру для полей созданных без кавычек или сохранять исходное написание поля если поле создано в кавычках. Если приложение расчитывает на какое-то иное поведение - то упс...

И я вообще не понял, в чем смысл пихать Firebird в систему, на него не расчитанную? Для линуха же есть дефолт - mysql и его форки. Проще почитать доки на него, ибо точно известно что с mysql энтот астериск работать умеет. А вот умеет ли он работать с firebird - это большой вопрос, и я не вижу причины для чего нужно в этот вопрос погружаться, тем более что никаких знаний именно по firebird у автора топика нету.
...
Рейтинг: 0 / 0
Подмена запроса на стороне сервера Firebird
    #40086951
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
никаких знаний именно по firebird у автора топика нету

mysql он тоже завести не может
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 3 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подмена запроса на стороне сервера Firebird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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