|
SQLGateway
|
|||
---|---|---|---|
#18+
Добрый день! Продолжаю осваивать чтение данных через ODBC-источник. Под спойлером заготовка программы чтения из таблицы MSSQL с помощью %DynamicQueryGW. Хочу один раз сделать Prepare и много раз Execute с параметрами. Первый Execute срабатывает, а второй выдает ошибку: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
В методах ничего подходящего не нашел. Если ставлю Prepare перед вторым Execute выдает ошибку: Код: plaintext
Если ставлю Код: plaintext 1. 2.
Но это же нехорошо:) Prepare должен быть один раз. Или повторный Execute только для %DynamicQuery работает, а для %DynamicQueryGW - нет? Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2016, 14:43 |
|
SQLGateway
|
|||
---|---|---|---|
#18+
И еще вопрос (стратегический:)): Чем использовать SQLGateway, может лучше использовать внешние программы, которые с одной стороны считывают данные из MSSQL(Oracle, ets.), а с другой записывают в Cache? Будет ли это эффективней? Кстати, какой подход Вы используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2016, 15:20 |
|
SQLGateway
|
|||
---|---|---|---|
#18+
DirksDRИ еще вопрос (стратегический:)): Чем использовать SQLGateway, может лучше использовать внешние программы, которые с одной стороны считывают данные из MSSQL(Oracle, ets.), а с другой записывают в Cache? Будет ли это эффективней? Да, так будет проще и надежней. Когда при необходимости импорта из Access, я устал бороться с проблемами SQLGateway, поставив Access? попытался экспортировать в Cache' то справился с проблемой за 20 секунды. Колонки с русскими именами и пробелами были правильно переименованы, все метаданные корректно расставлены и данные без потерь. Т.е. если источник ODBC - Microsoft, то лучше делать из них экспорт в CacheODBC. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2016, 17:18 |
|
SQLGateway
|
|||
---|---|---|---|
#18+
Timur SafinДа, так будет проще и надежней. Проще и быстрее будет воспользоваться мастером связывания и/или импорта/экспорта. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2016, 17:33 |
|
SQLGateway
|
|||
---|---|---|---|
#18+
Спасибо, servit! Для линкованной MSSQL-таблицы повторный %Execute сработал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Жаль, что %ROWCOUNT=0 после %Execute, зато после чтения данных показывает количество строк. Test3 Код: 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.
В документации для него нет примера с параметрами и разобраться сложно. С помощью Вашего примера, попытаюсь попробовать и такой вариант. Там классный Fetch сразу на пачку записей. Тем более, что связать/прилинковать табличку Оракла не получалось. Вообще-то, я собираюсь переносить данные в Каше, поэтому не хочется плодить линкованные таблички. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2016, 10:27 |
|
SQLGateway
|
|||
---|---|---|---|
#18+
DirksDRИли повторный Execute только для %DynamicQuery работает, а для %DynamicQueryGW - нет?Именно так. В WRC уже в курсе.DirksDRНе могу сообразить, что надо сделать с %ResultSet, чтобы он опять отработал Execute.Например, класс %Library.ResultSet расширить методом Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
...PS: и вместо Set sc=res.%Close() Set sc=conn.%Close() нужно Set res="" do conn.Disconnect() ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2016, 10:34 |
|
SQLGateway
|
|||
---|---|---|---|
#18+
servit, Еще раз спасибо. Я, пожалуй, погожу добавлять свои методы в системный класс:) Тем более, что отработал низкоуровневый ODBC доступ. Вывел названия колонок, читаю по 200 записей. Перед вторым Execute пришлось поставить CloseCursor, что в принципе логично. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
TMP Код: 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. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98.
Такая возможность тоже может пригодиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2016, 09:09 |
|
|
start [/forum/topic.php?fid=39&msg=39347601&tid=1556411]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 159ms |
0 / 0 |