Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SQL-gateway и "большие" данные
|
|||
|---|---|---|---|
|
#18+
Привет! Есть таблица в oracle: SQL> desc ma_tmp; Name Type Nullable Default Comments ---- ------------- -------- ------- -------- A VARCHAR2(250) Y В ней одна запись: SQL> select * from ma_tmp; A -------------------------------------------------------------------------------- Это длинное текстовое поле, которое я хочу прочитать из Cache. И фиг прочитаю. Пытаюсь сделать select этой таблицы из cache с помощью sql-gteway: TEST n s USER="USER",PASSWORD="PASSWORD",DSN="DSN" S Connection=##class(%Library.SQLGatewayConnection).%New() d Connection.Connect(DSN,USER,PASSWORD) d Connection.AllocateStatement(.Statment) d Connection.Prepare(Statment,"select * from ma_tmp") d Connection.Execute(Statment) d Connection.Fetch(Statment) d Connection.GetOneRow(Stat,.Row) w $LG(Row,1),! d Connection.DropStatement(Statment) D Connection.Disconnect() q Получаю: USER>d ^STARTTEST Это длинное текстовое поле, которое я хочу прочитать из Cac?????????????????? И при селектах любые данные, длиннее 59! символов заменяются занаками "?". Причем между значащими символами и знаками "?" стоит $C(0). При этом функции вызываются нормально: Функция в oracle: create or replace function MA_TEMP return varchar2 is v_a varchar2(250); begin select a into v_a from ma_tmp; return(v_a); end MA_TEMP; программа в cache: TEST n s USER="USER",PASSWORD="PASSWORD",DSN="DSN" S Connection=##class(%Library.SQLGatewayConnection).%New() d Connection.Connect(DSN,USER,PASSWORD) d Connection.AllocateStatement(.Statment) d Connection.BindParameters(Statment,$lb(4),$lb(""),$lb(""),$lb(""),$lb("")) d Connection.Prepare(Statment,"begin ?:=ma_temp(); end;") d Connection.Execute(Statment) d Connection.GetParameter(Statment,1,.VALUE) w $LG(VALUE,1),! d Connection.DropStatement(Statment) D Connection.Disconnect() q получаем: USER>d ^STARTTEST Это длинное текстовое поле, которое я хочу прочитать из Cache. И фиг прочитаю. Где могут быть настройки для результатов селекта? В какую сторону мне смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 18:26 |
|
||
|
SQL-gateway и "большие" данные
|
|||
|---|---|---|---|
|
#18+
1. Попробуйте мастером связать таблицу из Oracle, а потом прочитать из связанной таблицы данные. Читаются "большие данные"? 2. Попробуйте работать с ODBC примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 3. Если у Вас версия Cache 2007.x, то можно попробовать работать с Oracle не через ODBC, а через JDBC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 18:47 |
|
||
|
SQL-gateway и "большие" данные
|
|||
|---|---|---|---|
|
#18+
Более подробно об использовании Caché SQL Gateway можно почитать тут: http://www.intersystems.ru/cache/education/docs/sqlgw.html Там, правда, по версии 5.0.x. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 19:00 |
|
||
|
SQL-gateway и "большие" данные
|
|||
|---|---|---|---|
|
#18+
1-й способ (связанная таблица) и, самое главное, 2-й работают!!! Огромное спасибо! Переделаю все запросы на ##class(%ResultSet).%New("%DynamicQueryGW:SQLGW") Хотя странно, что один и тот же запрос с разных сторон работает по разному.. Как вы думаете - это проблема для wrc или фича? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 09:04 |
|
||
|
SQL-gateway и "большие" данные
|
|||
|---|---|---|---|
|
#18+
MaWrХотя странно, что один и тот же запрос с разных сторон работает по разному.. Как вы думаете - это проблема для wrc или фича? :) Поскольку Вы работали с ODBC на низком уровне, возможно Вами не были учтены какие-то моменты. Лучше обратиться к Вашему консультанту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 09:24 |
|
||
|
|

start [/forum/topic.php?fid=39&fpage=77&tid=1559142]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 323ms |

| 0 / 0 |
