|
|
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня! Перешел с Delphi 7 на Delphi XE, не нужно спрашивать почему сразу не на XE10 :) На 7ке код был рабочий, на XE же поломался. Пытаюсь создать скрипт на отключение констрайнтов путем подключения к базе через IBEScript.dll. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. где SCRIPT это Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. уже само подключение почему-то дает ошибку и ошибка эта иреглифами идет, совершенно нечитабельно, во вложении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2017, 12:55:46 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
aidynchik, а в этих ваших юникодах ничего не понимаю, конечно, но в Код: pascal 1. попробуй заменить PChar на pAnsiChar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2017, 13:06:11 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
чччД, я поменял в месте обработки ошибки, обернул текст ошибки в PAnsiChar, спасибо за наводку. Текст оказца такой "Database name is missing.", хотя я его же указал. пробовал Код: plsql 1. результата не дало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2017, 13:32:33 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
чччД, все, спасибо огромное, оказывается везде нужно было поменять на PAnsi, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2017, 13:36:42 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
aidynchik... оказывается везде нужно было поменять на PAnsi, спасибо! с такой же задачей столкнулся, тоже поменял везде pChar на pAnsiChar но теперь пишет IBEScript.dll ------- STATEMENT -------- A ------- ERROR -------- Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 1, column 1. A. вместо IBEScript.dllALTER TABLE RN0010 ADD CONSTRAINT FK_RN0010_01 FOREIGN KEY (ORGANIZATIONID) REFERENCES MK0010(ITEMID); Берет только первую букву "А", может еще где-то нужно исправить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 12:03:06 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
Vladimir779, 1. А у тебя скрипт - в какой кодировке? 2. А ты перед строкой коннекта указал SET NAMES? А ты его правильно задал? Пример моего скрипта: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Если лень разбираться - попробуй методом тыка: Код: sql 1. или Код: sql 1. и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 12:13:30 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
чччД, скрипт у меня находится в Memo - на форме, вот полный текст скрипта авторALTER TABLE RN0010 ADD CONSTRAINT FK_RN0010_01 FOREIGN KEY (ORGANIZATIONID) REFERENCES MK0010(ITEMID); там до "SET NAMES UTF8;" - просто не доходит, оно цеплятет только первую букву "А" вот что выдает в результате автор------- STATEMENT -------- A ------- ERROR -------- Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 1, column 1. A. при нажатии на кнопку выполняется код Код: pascal 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. используется "Delphi 10 Seattle" заметил особенность, что в процедуру Код: pascal 1. передается через pAnsiChar(s) - а это и есть как раз буква "А" хотя если использовать pChar(s) - передается весь текст скрипта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 12:33:28 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
Vladimir779, внимательно смотри в каких кодировках (ansi, utf и т.п.) что находится: s: string; mScript.Text ESP( параметр , ... Возможно будет достаточно ESP(@s[1], ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 12:53:37 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
Freedoom...внимательно смотри в каких кодировках (ansi, utf и т.п.) что находится:...запустил в следующем виде Код: pascal 1. Скрипт замечательно отработался!!! т.е. работает на прямую без присвоения переменной "s" а скрипт Код: pascal 1. передает к выполнению только первую букву "А" каким образом можно проверить, в какой кодировке хранятся данные в строковой переменной "s" - ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 13:55:38 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
Vladimir779Freedoom...внимательно смотри в каких кодировках (ansi, utf и т.п.) что находится:...запустил в следующем виде Код: pascal 1. Скрипт замечательно отработался!!! т.е. работает на прямую без присвоения переменной "s" а скрипт Код: pascal 1. передает к выполнению только первую букву "А" каким образом можно проверить, в какой кодировке хранятся данные в строковой переменной "s" - ? pAnsiChar(строковый литерал) - волшебным образом литерал переводится в ANSI, стало быть, передается указатель на строку в ANSI. А pAnsiChar(строковая переменная) - тут ты как бы говоришь "я и сам не дурак, знаю, что в строке, давай мне адрес строки без разговоров". Компилятор просто возвращает указатель на начало цепочки символов строки. Если у тебя в переменной юникод (а ты должен знать, что там у тебя - тыж программист или где?) - конвертируй сперва в (например) ANSI. Или сообщай приеёмнику (IBEScript.dll), что будем работать с юникодом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 14:04:46 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
Vladimir779, похоже я опоздал, но тоже была точно такая же ошибка, после того как подправил на ANSI. Поковырял и в общем вот так у меня счс работает Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 14:10:16 |
|
||
|
Непонятки с IBEScript.dll
|
|||
|---|---|---|---|
|
#18+
чччД, Благодарю за наводку, исправил Код: pascal 1. 2. на Код: pascal 1. 2. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 14:14:25 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39538674&tid=2041701]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 357ms |

| 0 / 0 |
