|
ODBC и пустые названия колонок
|
|||
---|---|---|---|
#18+
У меня есть старая программа. Работает на BDE (Borland Db Engine) используя "native Informix driver". Теперь же хочу, что бы работала через ODBC. Настроил подключение. Всё работает. Но до тех пор пока не происходит вызов хранимой процедуры. А дело всё в том, что возвращаемые процедурой колонки не имеют имён. Сделал трассировку. По ней видно, что виной всему функция SQLDescribeCol из интерфейса ODBC, которая возвращает пустое название колонки если не задан псевдоним для выражения. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Вот здесь нашел, что раньше вроде, как можно было воспользоваться опцией WorkArounds=64 и тогда драйвер придумает название для пустых колонок. Но с моим драйвером ODBC v 3.50 TC7DE это не работает. Вопрос: как заставить ODBC драйвер давать имена пустым колонкам ? Informix v11 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 11:17 |
|
ODBC и пустые названия колонок
|
|||
---|---|---|---|
#18+
По номеру (Fields[0].asInteger) не хотите обращаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 22:50 |
|
ODBC и пустые названия колонок
|
|||
---|---|---|---|
#18+
По номеру похоже не получится. Программа уже скомпиленная, а исходников у меня нет. Покопавшись в exe-шнике редактором ресурсов выяснил, что в коде примерно так написано: Код: pascal 1.
И как я понял компонент этот только по названию может к полю обращаться. По номеру он не умеет. Попробовать хочу в драйвере функцию SQLDescribeCol переписать. Обернуть ODBC dll-ку из CSDK своей. И всё, что в исходной экспортировать на прямую, а SQLDescribeCol переопределить. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 19:47 |
|
ODBC и пустые названия колонок
|
|||
---|---|---|---|
#18+
В общем то способ обернуть dll c ODBC драйвером в другую dll и переписать в ней часть функции сработал. А в Informix CSDK есть всё, что для этого нужно: Заголовочные файлы (INFORMIXDIR/lib) Библиотеки импорта (INFORMIXDIR/incl) DEF файл. Можно сделать с помощью утилиты DUMPBIN из состава VS код получился примерно такой: Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 16:31 |
|
|
start [/forum/topic.php?fid=44&msg=39438972&tid=1606774]: |
0ms |
get settings: |
23ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
195ms |
get tp. blocked users: |
1ms |
others: | 2570ms |
total: | 2869ms |
0 / 0 |