Autor Tópico: SC V6 + ODBC PROGRESS  (Lida 3712 vezes)

Caroline

  • Iniciante
  • **
  • Mensagens: 77
SC V6 + ODBC PROGRESS
« Online: Abril 15, 2013, 09:42:13 am »
Bom dia Colegas,

A questão de alguns meses assumimos um projeto em cima do DataSul.
Acreditávamos que o SC seria a melhor solução para o desenvolvimento rápido, mas infelizmente não é o que vem acontecendo.
Aqueles que conhecem o banco de dados PROGRESS, devem saber que o mesmo trabalha com travamento de tabelas e para que não ocorra  esse travamento temos que adicionar a cláusula WITH (NOLOCK) nos selects, caso contrário DEAD LOCK na certa.

Mas o scriptcase não aceita  a cláusula nas consultas, e não as coloca automáticamente nos selects dos formularios. Quanto aos formulários acabamos desenvolvendo através de aplicações de controles (tudo na unha) mas as consultas que tormento.

A razão do erro é porque a NM adiciona a palavra "asc" internamente ao select principal da consulta, essa palavra sempre é adicionada quando existe a cláusla ORDER BY.


ERRO
Erro ao acessar o banco de dados
[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Syntax error in SQL statement at or about "WITH (NOLOCK) asc" (10713)
SelectLimit(SELECT "descr-original" as sc_field_1, "part-number" as sc_field_0, "it-codigo" as sc_field_2 from PUB. "part-number" order by "descr-original" asc WITH (NOLOCK) asc, 17, 0)


Sugestão:  Não usem o SC com PROGRES.
« Última modificação: Abril 15, 2013, 09:44:43 am por Carol Lima »
Plugins Scriptcase:
Gerador de etiquetas: http://infinitusweb.net.br/pluginsc/6/etiquetaspdf/

saulobborges

  • Expert
  • *****
  • Mensagens: 1416
    • SGi Sistemas
    • Email
Re:SC V6 + ODBC PROGRESS
« Responder #1 Online: Abril 15, 2013, 11:00:42 am »
Carol talvez fosse o caso de vocês que tem tido experiências ruins no SC fizessem uma documentação mais detalhada e enviassem ao suporte da NM, PROGRESS acredito que não é o forte da ferramenta e situações como a que você descreve no post talvez tenham passado desapercebido.

Caroline

  • Iniciante
  • **
  • Mensagens: 77
Re:SC V6 + ODBC PROGRESS
« Responder #2 Online: Abril 15, 2013, 11:09:23 am »
Uma das coisas que nossa empresa abortou a muito tempo é o Suporte da NM.

E a ferramenta foi vendida ao cliente com a garantia que funcionava com PROGRES via ODBC.

E se notar no código, não justifica o gerador incluir a palavra "asc" de forma redundante.

Entramos no processo, porque outros profissionais não conseguiram progredir com a ferramenta nesse ambiente.
Plugins Scriptcase:
Gerador de etiquetas: http://infinitusweb.net.br/pluginsc/6/etiquetaspdf/

Jailton

  • Expert
  • *****
  • Mensagens: 2749
Re:SC V6 + ODBC PROGRESS
« Responder #3 Online: Abril 15, 2013, 12:44:40 pm »
Deve ser devido ao PROGRESS não ser um banco muito conhecido divulgado, não quero dizer que ele não seja bom, tem até uma ferramenta RAD para desenvolver em linguagem 4G PROGRESS na própria ferramenta.

O seu cliente deve usar com certeza o EMS-DATASUL ERP, e deve estar querendo fazer uma integração com a WEB 2.0 através do SCRIPTCASE.

Mas que 'FAIL' o SC ficar mexendo na SQL, eheh

« Última modificação: Abril 15, 2013, 12:47:28 pm por Jailton »
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Bernhard

  • Administrator
  • Expert
  • *****
  • Mensagens: 1619
Re:SC V6 + ODBC PROGRESS
« Responder #4 Online: Abril 20, 2013, 02:13:49 pm »
Carol,

Você poderia mostrar o SELECT realizado nesta aplicação que ocorreu o problema do ASC redundante?

att,
Bernhard Bernsmann

Caroline

  • Iniciante
  • **
  • Mensagens: 77
Re:SC V6 + ODBC PROGRESS
« Responder #5 Online: Abril 23, 2013, 10:04:07 am »
No post inicial esta o select.
Mas segue novamente:

odbc): select count(*) from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' 
(odbc): SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc, "it-codigo" desc WITH (NOLOCK) asc
S1000: [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Syntax error in SQL statement at or about "NOLOCK) asc" (10713)
            ADOConnection._Execute(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item  where "it-codigo" <> '' and   "it-codigo" <> '.' ..., false) % line 1085, file: adodb.inc.php
         ADOConnection.Execute(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item  where "it-codigo" <> '' and   "it-codigo" <> '.' ..., false) % line 1391, file: adodb.inc.php
      ADOConnection.SelectLimit(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item  where "it-codigo" <> '' and   "it-codigo" <> '.' ..., 17, 0) % line  537, file: ratweb_item_con_grid.class.php
   ratweb_item_con_grid.inicializa() % line   86, file: ratweb_item_con_grid.class.php
ratweb_item_con_grid.monta_grid(0) % line 1366, file: ratweb_item_con.php
ERRO
Erro ao acessar o banco de dados
[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Syntax error in SQL statement at or about "NOLOCK) asc" (10713)
SelectLimit(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc, "it-codigo" desc WITH (NOLOCK) asc, 17, 0)

Script: C:\Program Files (x86)\NetMake\v6\wwwroot\scriptcase\app\RATWEB_IW\ratweb_item_con\ratweb_item_con_grid.class.php (541)
« Última modificação: Abril 23, 2013, 10:20:09 am por Carol Lima »
Plugins Scriptcase:
Gerador de etiquetas: http://infinitusweb.net.br/pluginsc/6/etiquetaspdf/

Caroline

  • Iniciante
  • **
  • Mensagens: 77
Re:SC V6 + ODBC PROGRESS
« Responder #6 Online: Abril 23, 2013, 10:09:34 am »
Sem a cláusula WITH (NO LOCK):

(odbc): select count(*) from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' 
(odbc): SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc, "it-codigo" desc 


Não ocorre erro.

Sem a cláusula WITH (NOLOCK):

(odbc): select count(*) from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' 
(odbc): SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc, "it-codigo" desc 


Não ocorre erro.

Segue uma aplicação de controle em modo debug onde são executados diversos diversos sc_lookup, também não ocorre erro, o que significa que a cláusula WITH (NOLOCK) é aceita pelo SQL do ODBC, e funciona perfeitamente evitando o travamento das tabelas.

(odbc): Select valor from PUB.ratw_mysession where id='oal320vfnt46p3n99b4h6s7qu0' and chave='user_perfil' WITH (NOLOCK) 
(odbc): SELECT TOP 1 "cod_chamado","nr_rat","tipo_servico","cod_contrato","cod_emitente","tipo_contrato","cod_equipto","num_serie","nm_equipto","nm_cliente","cd_tecnico","tem_contrato" FROM PUB.ratw_chamado WHERE nr_RAT=12646101 WITH (NOLOCK) 
(odbc): Select valor from PUB.ratw_mysession where id='oal320vfnt46p3n99b4h6s7qu0' and chave='user' WITH (NOLOCK) 
(odbc): SELECT TOP 1 cod_chamado, dt_encerra FROM PUB.ratw_chamado WHERE cod_chamado < 26461 AND cod_equipto = 'CV02.1070.0035.1' AND cod_emitente = '19' ORDER BY cod_chamado DESC WITH (NOLOCK) 
(odbc): SELECT TOP 1 Validado, cod_atendimento, status_atend FROM PUB.ratw_aponta WHERE cod_chamado='26461' AND nr_rat='12646101' WITH (NOLOCK) 
« Última modificação: Abril 24, 2013, 12:35:00 pm por Caroline »
Plugins Scriptcase:
Gerador de etiquetas: http://infinitusweb.net.br/pluginsc/6/etiquetaspdf/

Caroline

  • Iniciante
  • **
  • Mensagens: 77
Re:SC V6 + ODBC PROGRESS
« Responder #7 Online: Abril 23, 2013, 10:28:14 am »
Minha observação a respeito:

A NM tentando evitar o esquecimento por parte do programador a parâmetro ASC ou DESC nos selects da consulta quando da inserção da cláusula ORDER BY, ele adiciona internamente a palavra ASC, e o mesmo esta achando que é isso que esta acontecendo, só que a última cláusula não é uma ORDER BY e sim WITH NOLOCK)

Vejam o exemplo:
No select principal digitei:

Código: [Selecionar]
SELECT
    "it-codigo",
   "desc-item",
     un
FROM
    PUB.item
WHERE
     "it-codigo" <> '' and   "it-codigo" <> '.'

Order by    "desc-item"


e o debug apresenta:

(odbc): select count(*) from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' 
(odbc): SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc


Vejam que o sc adicionou sozinho a palavra asc, só que a NM  não prevê que a clausula anterior é um order by, ela deve usar um search na instrução para verificar se existe a clausula e se a última palavra não for "ASC" ou "DESC" ela adiciona o "ASC"internamente, o erro que que não deve usar um search para verificar se existe a clausula ORDER BY, e sim verificar se esta é a última cláusula da instrução.
Plugins Scriptcase:
Gerador de etiquetas: http://infinitusweb.net.br/pluginsc/6/etiquetaspdf/

Bernhard

  • Administrator
  • Expert
  • *****
  • Mensagens: 1619
Re:SC V6 + ODBC PROGRESS
« Responder #8 Online: Abril 24, 2013, 02:54:07 am »
No post inicial esta o select.
Mas segue novamente:

odbc): select count(*) from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' 
(odbc): SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc, "it-codigo" desc WITH (NOLOCK) asc
S1000: [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Syntax error in SQL statement at or about "NOLOCK) asc" (10713)
            ADOConnection._Execute(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item  where "it-codigo" <> '' and   "it-codigo" <> '.' ..., false) % line 1085, file: adodb.inc.php
         ADOConnection.Execute(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item  where "it-codigo" <> '' and   "it-codigo" <> '.' ..., false) % line 1391, file: adodb.inc.php
      ADOConnection.SelectLimit(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item  where "it-codigo" <> '' and   "it-codigo" <> '.' ..., 17, 0) % line  537, file: ratweb_item_con_grid.class.php
   ratweb_item_con_grid.inicializa() % line   86, file: ratweb_item_con_grid.class.php
ratweb_item_con_grid.monta_grid(0) % line 1366, file: ratweb_item_con.php
ERRO
Erro ao acessar o banco de dados
[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Syntax error in SQL statement at or about "NOLOCK) asc" (10713)
SelectLimit(SELECT "desc-item" as sc_field_1, "it-codigo" as sc_field_0, un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc, "it-codigo" desc WITH (NOLOCK) asc, 17, 0)

Script: C:\Program Files (x86)\NetMake\v6\wwwroot\scriptcase\app\RATWEB_IW\ratweb_item_con\ratweb_item_con_grid.class.php (541)

Caroline,

Não fui muito claro no post anterior. Me referia ao SELECT realizado na sua consulta do SC (e não o select gerado pelo SC).

O select da sua aplicação é este do último post?

att,
Bernhard Bernsmann

Caroline

  • Iniciante
  • **
  • Mensagens: 77
Re:SC V6 + ODBC PROGRESS
« Responder #9 Online: Abril 24, 2013, 12:33:18 pm »
Select da aplicação:

Código: [Selecionar]
SELECT "desc-item", "it-codigo", un from PUB.item where "it-codigo" <> '' and "it-codigo" <> '.' order by "desc-item" asc, "it-codigo" desc WITH (NOLOCK)
Plugins Scriptcase:
Gerador de etiquetas: http://infinitusweb.net.br/pluginsc/6/etiquetaspdf/

Bernhard

  • Administrator
  • Expert
  • *****
  • Mensagens: 1619
Re:SC V6 + ODBC PROGRESS
« Responder #10 Online: Abril 24, 2013, 03:58:45 pm »
Obrigado pelo feedback.

Problema reportado para nossa equipe de bugs.

att,
Bernhard Bernsmann

daniel.fendrich

  • Novato
  • *
  • Mensagens: 25
    • Email
Re:SC V6 + ODBC PROGRESS
« Responder #11 Online: Fevereiro 11, 2019, 02:01:19 pm »
Boa tarde, gostaria de saber o como configuro esse drive ODBC no Scriptcase estou tentando fazer isso e não estou sabendo por onde começar!

Daniel

Haroldo

  • Expert
  • *****
  • Mensagens: 8885
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:SC V6 + ODBC PROGRESS
« Responder #12 Online: Fevereiro 11, 2019, 02:04:42 pm »
Por favor, abra um tópico novo e informe a sua versão e ambiente em que roda a IDE e a Produção.

Esse tópico devido a data esta prejudicado.

Boa tarde, gostaria de saber o como configuro esse drive ODBC no Scriptcase estou tentando fazer isso e não estou sabendo por onde começar!

Daniel