Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Как расшифровывать сообщение об ошибке : Супермаг Плюс (Супермаг 2000)

22.11.2024 23:52


26.01.2015 15:36
Цитата:
Mtirt Попробуй, это не так уж сложно...
Да и с ценниками уже есть опыт.
Не ругайте громко, много просить не буду, интересует как мне можно расшифровывать сообщение об ошибке, вот к примеру получаю я ошибку, как мне понять куда в ней смотреть и в какой строке ошибка кроется (реально хочется вдуплить самому и не надоедать с глупыми вопросами)?:
Код:
2015.01.26 (Monday) 14:32:21
----- Прерывание работы программы -----
сообщение: "ORA-00911: неверный символ
"
исключение: System.Data.OracleClient.OracleException
источник: System.Data.OracleClient
данные:   соединено с: База даных=DEMO91; Пользователь=SUPERMAG
   текст команды: select s.DocID, to_char(sysdate,'DD.MM.YYYY') Createdat, s.Article, crd.Name, s.Quantity,
t2.wo_id, t2.article, t2.wi_id, t2.or_id, t2.cq_id, 
       (SELECT d_cq.docco  
          FROM supermag.svdocnopricecq d_cq
         WHERE d_cq.doctype = 'CQ' AND d_cq.id = t2.cq_id
       ) co_id  
  FROM (
        SELECT t1.wo_id, t1.article, t1.wi_id, t1.or_id, 
               (SELECT MIN(b_cq.baseid) KEEP (DENSE_RANK FIRST ORDER BY s_cq.article ASC NULLS LAST)  
                  FROM supermag.smcommonbases b_cq, supermag.smspec s_cq, supermag.SMCard crd
                 WHERE b_cq.doctype = 'OR' AND b_cq.id = t1.or_id AND b_cq.basedoctype = 'CQ'
                   AND s_cq.doctype(+) = b_cq.basedoctype AND s_cq.docid(+) = b_cq.baseid AND s_cq.article(+) = t1.article
               ) cq_id  
          FROM (
                SELECT s.docid wo_id, s.article, s.causeid wi_id,
                       (SELECT MIN(b_or.baseid) KEEP (DENSE_RANK FIRST ORDER BY s_or.article ASC NULLS LAST) or_id  
                          FROM supermag.smcommonbases b_or, supermag.smspec s_or
                         WHERE b_or.doctype = s.causetype AND b_or.id = s.causeid AND b_or.basedoctype = 'OR'
                           AND s_or.doctype(+) = b_or.basedoctype AND s_or.docid(+) = b_or.baseid AND s_or.article(+) = s.article
                       ) or_id  
                  FROM supermag.smdocuments d, supermag.smspec s
                 WHERE s.doctype = 'WO' 
                   AND d.opcode = 2
                   AND d.docstate = 3
                   AND d.locationfrom = :P_LOC
                   AND d.createdat BETWEEN :P_DATEFROM AND :P_DATETO
                   AND s.docid=d.id AND s.doctype=d.doctype
               ) t1
       ) t2
;
   тип команды: Text
метод: Void CheckError(System.Data.OracleClient.OciErrorHandle, Int32)
   в System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
   в System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
   в System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, ArrayList& resultParameterOrdinals)
   в System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior behavior)
   в System.Data.OracleClient.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)
   в System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.FillSchemaInternal(DataSet dataset, DataTable datatable, SchemaType schemaType, IDbCommand command, String srcTable, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType, IDbCommand command, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType)
   в Sm.Server.Database.OracleRunner.FillSchema(OracleSafeAdapter dataAdapter, DataTable dataTable, SchemaType schemaType)
   в Sm.FastReports.Server.FastReportBO.FillTableSchema(BusinessOperation businessOperation, String selectCommand, OracleParameterDescription[] parameters, Object[][]& dataTable)
   в Sm.FastReports.Server.FastReportBO.Sm.FastReports.Link.IFastReportBO.FillTableSchemaBegin(BusinessOperation businessOperation, String selectCommand, OracleParameterDescription[] parameters, Object[][]& dataTable)
   в Sm.FastReports.SupermagFastReportConnection.<>c__DisplayClass3.<FillTableSchema>b__0(IFastReportBO bo)
   в Sm.FastReports.Server.DesignerServer.LocalClient`1.Do(Action`1 action)
   в Sm.FastReports.SupermagFastReportConnection.FillTableSchema(DataTable table, String selectCommand, CommandParameterCollection parameters)
   в FastReport.Data.TableDataSource.InitSchema()
   в FastReport.Data.TableDataSource.RefreshTable()
   в Sm.FastReports.Designer.DesignerConnection.RefreshTableColumn(TableDataSource dataSource)
OlegON:
Убедительная просьба создавать отдельные темы на отдельные вопросы
26.01.2015 15:42
Точку с запятой убери...
26.01.2015 15:50
Та долго я так могу изгаляться и мучать вас, надеюсь у вас будет время на меня ))
Вот как почувствовали что она мешала? Это запрещенный символ в таких запросах?
Убрал и получил новую ошибку:
скрытое

Чувствую, меня скоро пошлют... ))
26.01.2015 15:53
Скопируй то, что у тебя сейчас есть в TOAD, или чем ты сейчас пользуешься и попробуй запустить запрос.
Тебе подсветят ошибки...
Судя по скобкам, не должно быть там никаких s в названии псевдонимов, должно быть t2.
26.01.2015 16:08
Там вообще вся первая строка в select откуда-то из другого места выдернута и прилеплена.
26.01.2015 16:21
Да, я решил выделиться и добавить колонок, идея плохая, удалил.
Итого, в тоде все отлично с запросом, а вот тут снова по лбу получил:
скрытое

Переменные я объявил в отчете:
Миниатюры
Нажмите на изображение для увеличения
Название: Image 1438.png
Просмотров: 780
Размер:	10.8 Кб
ID:	4317  
26.01.2015 16:24
Тип параметра на дату не надо поменять?
26.01.2015 16:41
Цитата:
Mtirt Тип параметра на дату не надо поменять?
А это ничего не меняет, только добавляется ошибка:


а если говорить не про дату, чего даже если я не объявляю эти переменные ругается на сообщение: "Синтаксическая ошибка: ожидается идентификатор или идентификатор в кавычках." - писал в сообщении выше..
Миниатюры
Нажмите на изображение для увеличения
Название: Image 1439.png
Просмотров: 782
Размер:	13.2 Кб
ID:	4318  
26.01.2015 16:42
я так понимаю эти все P_LOC; P_DATEFROM; P_DATETO необходимо объявить в запросе отчета?
26.01.2015 16:56
Речь о фасте? Есть такой блок "параметры" в отчете - вот там все ваши параметры входные и надо обьявить
а вы их объявили просто в режиме подготовки запроса
Часовой пояс GMT +3, время: 23:52.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.