Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с работой через ODBC
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуста решить проблему Имеется хранимая процедура написанная на COS. Обнаружилось следующее: на сервере под Windows данные возвращаемые процедурой нормальные на сервере под Unix данные возвращаемые процедурой почему то в какой то другой кодировке. Вместо русских символов что то непонятное. На сервере под Unix были написаны две тестовые хранимые процедуры одна на SQL, другая на COS Процедура на SQL работает нормально, а процедура на COS почему то возвращает данные в другой кодировке. Клиентская программа работает в 1С и вызов хранимой процедуры производится через ADO RecordSet. Версия Cache: Cache for UNIX (Solaris UltraSPARC/64-bit) 5.0.21 (Build 6408 + Adhoc 3745) Вот текст тестовых процедур: Query TestProcSQL() As %SQLQuery [ SqlProc ] { SELECT ID,NameLp FROM MTSLp } Query TestProcCOS() As %Query(ROWSPEC = "ID:%Integer,NameLp:%String") [ SqlProc ] { } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2010, 14:34 |
|
||
|
Проблема с работой через ODBC
|
|||
|---|---|---|---|
|
#18+
Victor_V_S, Судя по версии Caché, она у Вас 8-битная. Возможно, в случае с SQL происходит неявная перекодировка строк (см. параметр SELECTMODE у Query, а также SQL-функции %EXTERNAL, %INTERNAL, %ODBCIN, %ODBCOUT ). PS: воспроизводится ли поведение в новых версиях Caché? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 19:13 |
|
||
|
Проблема с работой через ODBC
|
|||
|---|---|---|---|
|
#18+
Как работает на новых версиях, сказать не могу. Если в SQL запросе происходит неявная перекодировка, то как можно подобную перекодировку сделать в запросе на COS ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 11:58 |
|
||
|
Проблема с работой через ODBC
|
|||
|---|---|---|---|
|
#18+
Это не помогло. Тестировал на ODBC View. Все то же самое. Что характерно, похоже не понимает тип данных %String. Если: ClassMethod TestProcCOSFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = TestProcCOSExecute ] { s $li(Row,1)="123" Quit $$$OK } Query TestProcCOS() As %Query(ROWSPEC = "NAME:%Integer") [ SqlProc ] { } то цифры выводятся нормально Если Query TestProcCOS() As %Query(ROWSPEC = "NAME:%String") [ SqlProc ] { } то даже строка из цифр не выводится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:01 |
|
||
|
|

start [/forum/topic.php?fid=39&gotonew=1&tid=1557903]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 439ms |

| 0 / 0 |
