|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
Здравствуйте! Пытаюсь вызвать скрипт наполнения созданной БД из другого скрипта через ibec_ExecSQLScript. Если использовать скрипт test1.sql в том виде, в котором он выложен, то получаем ошибку Ошибка выполнения IBEScriptIBEScript Version 2020.8.11.1 Copyright (c) 2002-2020 IBExpert Ltd (www.ibexpert.com) Executing script: test1.sql (Line: 24) : Executing IBEBlock... (Line: 4) : Creating domain DMN_BOOL... Successful Error occurred while executing following statement (line 9): -------- STATEMENT ---------- DESCRIBE DOMAIN DMN_BOOL 'Домен для хранения булевского типа 0 - ложь !0 - истина' -------- ERROR ---------- Incompatible column/host variable data type. Dynamic SQL Error. SQL error code = -303. Malformed string. (Line: 9) : Setting description for DMN_BOOL... FAILED! Script executed successfully. Total execution time: 109ms Выполнение без ошибокIBEScript Version 2020.8.11.1 Copyright (c) 2002-2020 IBExpert Ltd (www.ibexpert.com) Executing script: test1.sql (Line: 24) : Executing IBEBlock... (Line: 4) : Creating domain DMN_BOOL... Successful (Line: 9) : Setting description for DMN_BOOL... Successful Script executed successfully. Total execution time: 188ms test1.sql Код: 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.
test2.sql Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 04:45 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
А сервер какой? Я пока навскидку вижу проблему в строке коннекта: names=win1251 - это эквивалент SET NAMES WIN1251, а при создании БД синтаксис другой - DEFAULT CHARACTER SET WIN1251 - и в строке опций он должен быть указан как DefaultCharset=win1251. Т.е., база у тебя создалась без указания дефолтового чарсета, как минимум. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 05:30 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
IBExpert, FB версии 2.5.9. Добавление DefaultCharset в ConnectionString Код: sql 1.
ситуации не изменило. Я же написал, что пробовал разные способы. Все, что описано в документации к ibec_CreateDatabase и к ConnectionString на сайте IBExpert. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 05:43 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
Посмотрел... В общем, сейчас таки надо переконнекчиваться (что у тебя и делается в закомментированной части), потому что при создании БД получается коннект без указания чарсета - names=win1251 при создании просто игнорируется. Поправим. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 07:51 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
Попробуй свежую версию. Кое-что изменил: если DefaultCharset в строке коннекта отсутствует, то ibec_CreateDatabase возьмет его из names (если оно есть), т.е. DefaultCharset можно не прописывать дополнительно. Кое-какие замечания безотносительно сабжа: 1. Вместо DESCRIBE надо использовать COMMENT ON. 2. Вместо Код: plsql 1. 2. 3. 4. 5. 6.
сейчас можно определять блок в секции деклараций: Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 06:13 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
IBExpert, пробую, не получается, ничего не изменилось. Не вижу обновления. Я качаю обновления с адреса, предназначенного для русской локали. Возможно скачать ibescript где-то еще? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:47 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
oleg_oleinik Возможно скачать ibescript где-то еще? Качай с тех же адресов. Я IBEScript просто не выкладывал - думал, ты сначала в эксперте проверишь. Ну вот теперь выложил. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 10:35 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
IBExpert, скачал обновление, проверил, есть замечание. Если в строке коннекта есть names, но отсутствует DefaultCharset, ibec_CreateDatabase работает, как вы и написали. А если присутствует DefaultCharset, но отсутствует names, то результат прежний. Такое ощущение, что значение DefaultCharset вообще не учитывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:41 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
IBExpert сейчас можно определять блок в секции деклараций: Я вызываю скрипт из bat-файла через IBEScript.exe Если я заменю test1.sql на следующий текст, то получаю ошибку: -------- ERROR ---------- Cannot perform operation -- DB is not open. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:55 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
oleg_oleinik, Запустил ваш пример, вот так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:24 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
oleg_oleinik IBExpert, скачал обновление, проверил, есть замечание. Если в строке коннекта есть names, но отсутствует DefaultCharset, ibec_CreateDatabase работает, как вы и написали. А если присутствует DefaultCharset, но отсутствует names, то результат прежний. Такое ощущение, что значение DefaultCharset вообще не учитывается. DefaultCharset - это дефолтовый чарсет базы, который указывается при ее создании. Names - чарсет коннекта. Это разные вещи, и если тебе нужен коннект с чарсетом WIN1251, то names должно присутствовать в строке коннекта. Так что все правильно работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 16:14 |
|
Непонятное поведение ibec_CreateDatabase
|
|||
---|---|---|---|
#18+
oleg_oleinik IBExpert сейчас можно определять блок в секции деклараций: В секции деклараций: между AS и первым BEGIN, там же где и декларации переменных. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 16:15 |
|
|
start [/forum/topic.php?fid=42&msg=39992019&tid=1598598]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 137ms |
0 / 0 |