|
Message sequencing error при чтении из Cache через ODBC
|
|||
---|---|---|---|
#18+
Добрый день, столкнулся со следующей проблемой: Реализовал хранимую процедуруClass tehbi4.OperationsReport Extends %RegisteredObject [ ClassType = "", ProcedureBlock ] { Query OperationsReport(BegDate As %String, EndDate As %String) As %Query(ROWSPEC = "Key:%String:Ключ,OperationDate:%String:Дата операции,DocType:%String:Вид документа,DocNum:%String:Номер документа,DocDate:%String:Дата документа,ClientName:%String(MAXLEN=512):Наименование/Ф.И.О. клиента,ClientNum:%String:Номер клиента,ClientINNorKIO:%String:ИНН/КИО клиента,ClientKPP:%String:КПП клиента,ClientNS:%String:Номер счета клиента,ClientBIC:%String:БИК банка клиента,ContractorBankNS:%String:Номер корреспондентского счета банка плательщика/получателя,ContractorNSName:%String(MAXLEN=512):Наименование счета банка плательщика/получателя,ContractorBIC:%String:БИК банка плательщика/получателя,ContractorName:%String(MAXLEN=512):Наименование/Ф.И.О. плательщика/получателя,ContractorNum:%String:Номер клиента плательщика/получателя,ContractorINNorKIO:%String:ИНН/КИО плательщика/получателя,ContractorKPP:%String:КПП плательщика/получателя,ContractorNSNum:%String:Номер счета плательщика/получателя,ValD:%String:Валюта суммы по дебету,SumD:%String:Сумма по дебету,SumDNE:%String:Сумма по дебету в НЭ,ValK:%String:Валюта суммы по кредиту,SumK:%String:Сумма по кредиту,SumKNE:%String:Сумма по кредиту в НЭ,OperationName:%String(MAXLEN=512):Назначение платежа,IncomeOperType:%String:Тип доходной операции,KomisType:%String:Начисление/Погашение,OperTypeCode:%String:Код типа операции,OperType:%String:Тип операции,Groups:%String:Группы") [ SqlName = OperationsReport, SqlProc ] { } ClassMethod OperationsReportExecute(ByRef qHandle As %Binary, BegDate As %String, EndDate As %String) As %Status { ... } ClassMethod OperationsReportClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = OperationsReportExecute ] { ... } ClassMethod OperationsReportFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = OperationsReportExecute ] { ... } } На машине с ms sql создал ODBC драйвер. В ms sql создал связанный сервер. Вызываю процедуру так: Код: plsql 1.
При формировании отчета за небольшой период 1-10 дней все работает. В случае получения отчета за месяц sql возвращает такую ошибку: Код: xml 1. 2. 3. 4. 5.
Уже второй день ковыряю, перерыл инет, не могу понять в чем проблема и как поправить. Может знает кто? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 12:18 |
|
Message sequencing error при чтении из Cache через ODBC
|
|||
---|---|---|---|
#18+
TEHbI4, Сейчас попробовал, 140 тысяч строк нормально выбрались. Может ошибка в данных? Попробуйте оставить один столбец, например, самый первый, и сформировать отчет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 13:15 |
|
Message sequencing error при чтении из Cache через ODBC
|
|||
---|---|---|---|
#18+
Действительно, с одной колонкой вывелось корректно, буду поочередно добавлять, чтобы выявить проблемную. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 17:04 |
|
Message sequencing error при чтении из Cache через ODBC
|
|||
---|---|---|---|
#18+
Проблема была в следующем: я формировал конечную выборку в qHandle, как оказалось не хватало места в qHandle. Решение: Создал временную глобаль, а в qHandle записал ссылку на эту глобаль, с ней и работал:ClassMethod OperationsReportFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = OperationsReportExecute ] { s @qHandle=$o(@qHandle@(@qHandle),1,Row) s AtEnd=(@qHandle="") s:AtEnd Row="" i Row'="" {f i=1:1:$ll(Row) s $li(Row,i)=$zcvt($li(Row,i),"I","CP866")} Quit $$$OK } P.S. Как сделать подсветку кашового синтаксиса в сообщениях на форуме, в списке [src] нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2014, 16:22 |
|
|
start [/forum/topic.php?fid=39&fpage=20&tid=1556861]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 303ms |
total: | 425ms |
0 / 0 |