30% OFF para compra e renovaÇÃo. Comprar agora

Autor Tópico: sc_connection_new, scriptcase9 e sqlite [Resolvido]  (Lida 480 vezes)

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
sc_connection_new, scriptcase9 e sqlite [Resolvido]
« Online: Abril 20, 2018, 10:49:47 pm »
Boa noite,

A database usada é do samples (sqlite) do próprio Scriptcase.
E foi usada uma blank para testes.


No Scriptcase 8 coloco este código blank:

$arr_conn = array();

$arr_conn['drive'] = "sqlite3";
$arr_conn['server'] = "";
$arr_conn['user'] = "";
$arr_conn['password'] = "";
$arr_conn['database'] = "/XXXXXXXXXXXXXXXXXXX/devel/conf/scriptcase/samples.db";
$arr_conn['persistent'] = "Y";
$arr_conn['encoding'] = "utf8";

sc_connection_new("sqlitenew", $arr_conn);
$check_sql = "select customerid, companyname, creditlimit, phone from customers";
sc_lookup(rs, $check_sql,"sqlitenew");
if (isset({rs[0][0]}))     // Row found
{
echo     {rs[0][0]}."<br>";
echo     {rs[0][1]}."<br>";
echo     {rs[0][2]}."<br>";
echo     {rs[0][3]}."<br>";

}

É listado:

ALFKI
Alfreds Futterkiste
3367.41
30074321

No Scriptcase 9  coloco numa blank o mesmo código e nada é listado.
Se ligo o debug na blank aparece:

(firebird): SELECT RDB$GET_CONTEXT('SYSTEM','ENGINE_VERSION') AS "Version" FROM RDB$DATABASE 
(mysqli): select customerid, companyname, creditlimit, phone from customers 
Query: select customerid, companyname, creditlimit, phone from customers failed. Table 'xxxxxxxxxx.customers' doesn't exist
1146: Table 'xxxxxxxxxx.customers' doesn't exist
   ADOConnection._Execute(select customerid, companyname, creditlimit, phone from customers, false) % line 1149, file: adodb.inc.php
ADOConnection.Execute(select customerid, companyname, creditlimit, phone from customers) % line 1517, file: index.php
blank_apl.controle() % line 1866, file: index.php

O scriptcase 9 está usando o driver do mysql ao invés do sqlite especificado.

Observação:
No diagnosis do Scriptcase 8 e Scriptcase 9 constam tanto o sqlite3 quanto o pdo_sqlite habilitado.


PS: Junte-se ao nosso grupo de Scriptcase no Telegram: https://t.me/scriptcasebr
Quanto mais usuários para trocar experiências melhor.
« Última modificação: Julho 04, 2018, 01:03:37 am por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Ronyan Alves

  • Administrator
  • Expert
  • *****
  • Mensagens: 979
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #1 Online: Abril 23, 2018, 01:25:13 pm »
--

Ronyan Alves
Equipe Scriptcase

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #2 Online: Abril 23, 2018, 02:05:56 pm »
Ronyan,
Repito os drivers sqlite estão ativos nas duas versões do Scriptcase.
No Scriptcase 8 funciona e no Scriptcase 9 não.
Tentei com sqlite, pdosqlite  e sqlite3.

Com os três driver somente funciona no Scriptcase 8.

O Sqlite 3 tirei dos fontes gerados pelo scriptcase como pode ver abaixo e funciona no Scriptcase 8.

PS: Eu acho que este bug foi introduzido na ScriptCase v9.0.021
Quando:  Corrigido problema ao utilizar o pârametro de conexão, sendo criado dinamicamente através da macro sc_connection_new.


« Última modificação: Abril 23, 2018, 02:14:47 pm por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #3 Online: Abril 24, 2018, 06:27:56 pm »
Alguma novidade?
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #4 Online: Abril 26, 2018, 05:00:45 am »
Ronyan,
Bom dia,
Alguma novidade?
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #5 Online: Maio 02, 2018, 06:19:12 pm »
Ronyan,
Boa noite,
Alguma novidade?
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Ronyan Alves

  • Administrator
  • Expert
  • *****
  • Mensagens: 979
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #6 Online: Maio 02, 2018, 06:47:33 pm »
Foi passado pro departamento de bugs.
Qualquer novidade, te aviso aqui.
--

Ronyan Alves
Equipe Scriptcase

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #7 Online: Maio 02, 2018, 09:38:51 pm »
Obrigado pelo retorno.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #8 Online: Junho 02, 2018, 10:31:57 pm »
Ronyan, Alguma novidade?
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #9 Online: Junho 06, 2018, 02:37:04 am »
Eu estava vendo no Scriptcase 9.1.005 dentro da pasta  prod/third/adodb/adodb.inc.php.

A versão do adodb é 4.991

No site do adodb fala sobre a compatibilidade com o php 7 -> http://adodb.org/dokuwiki/doku.php?id=v5:php7_status

"PHP 7

We are working to ensure full support for PHP 7 in both the current ADOdb production (5.20.x) , and development (5.21.x) releases. There are no plans to implement PHP 7 support in ADOdb version 5.19.
Addressing Issues

Any PHP 7 compatibility issues found are released as Hot-fixes to the current production release, so it is important that you use the most recent version. Hot-fix releases are drop-in replacements to earlier versions of the same release number. You can check the current status of PHP 7 issues on the Github Issues Tracker.
Upgrading From Earlier Releases

Users have reported that upgrading from releases 5.00 (released in 2007) and higher have been reasonably easy, but that earlier versions may require substantial adjustments, due to design considerations in ADOdb version 4. If you need guidance, use any of the support methods listed on the main page.
Moving From Custom Releases

In order to migrate their products from custom older versions of ADOdb back to the core product and take advantage of the active development of the product, as well as PHP 7 compatibility, a number of users have submitted their custom functionality to be integrated into core. If you are in the same situation, contact us about having your feature added.


Tradução:

PHP 7

Estamos trabalhando para garantir suporte completo para o PHP 7 nas versões atuais do ADOdb (5.20.x) e de desenvolvimento (5.21.x). Não há planos para implementar o suporte ao PHP 7 no ADOdb versão 5.19.
Problemas de endereçamento

Quaisquer problemas de compatibilidade encontrados no PHP 7 são lançados como Hot-fixes na versão de produção atual, por isso é importante que você use a versão mais recente. As liberações do Hot-fix são substituições diretas para versões anteriores do mesmo número de release. Você pode verificar o status atual dos problemas do PHP 7 no Rastreador de problemas do Github.
Atualizando de versões anteriores

Os usuários relataram que a atualização de versões 5.00 (lançadas em 2007) e superiores foi razoavelmente fácil, mas que versões anteriores podem exigir ajustes substanciais, devido a considerações de design no ADOdb versão 4. Se você precisar de orientação, use qualquer um dos métodos de suporte listados na página principal.
Movendo-se de lançamentos personalizados

Para migrar seus produtos de versões antigas personalizadas do ADOdb de volta para o produto principal e aproveitar o desenvolvimento ativo do produto, bem como a compatibilidade com o PHP 7, vários usuários enviaram suas funcionalidades personalizadas para serem integradas ao núcleo. Se você estiver na mesma situação, entre em contato conosco para adicionar seu recurso."


Todo este erro com o sc_connection_new não é por causa desta compatibilidade do php 7 com a versão que o Scriptcase usa (4.991)?

Visto que no código gerado temos:

  if (in_array(strtolower($this->nm_con_sqlitenew['tpbanco']), $this->nm_bases_sybase))
    {
         $this->nm_db_sqlitenew->fetchMode = ADODB_FETCH_BOTH;
          $this->nm_db_sqlitenew->Execute("set dateformat ymd");
          $this->nm_db_sqlitenew->Execute("set quoted_identifier ON");
      }
       $this->nm_db_sqlitenew->debug = true;

Pois no Scriptcase 8 que trabalha com php 5.6 vai normal é a versão do adodb nele é 4.991.
E o adodb 4.991 é próprio para o php 5.6
No changelog do adodb somente encontro referência ao php 7 no adodb 5.x em diante.

Ou o Scriptcase usa uma versão modificada do adodb?


« Última modificação: Junho 06, 2018, 02:51:01 am por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Ronyan Alves

  • Administrator
  • Expert
  • *****
  • Mensagens: 979
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #10 Online: Junho 07, 2018, 09:32:35 am »
Utiliza uma versão modificada da adodb.
--

Ronyan Alves
Equipe Scriptcase

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #11 Online: Junho 07, 2018, 11:01:26 am »
Ok. Obrigado pela resposta Ronyam.
Eu pensei que fosse somente com o SQlite.
Mas o erro persiste.
Tentei com outro banco (SGDB).
No caso o Firebird:
 (firebird): SELECT RDB$GET_CONTEXT('SYSTEM','ENGINE_VERSION') AS "Version" FROM RDB$DATABASE   (mysqli): select customer, PHONE_NO, ADDRESS_LINE1, ADDRESS_LINE2 from CUSTOMER   Query: select customer, PHONE_NO, ADDRESS_LINE1, ADDRESS_LINE2 from CUSTOMER failed. Table 'c1scriptcase9.CUSTOMER' doesn't exist
1146: Table 'c1scriptcase9.CUSTOMER' doesn't exist

   ADOConnection._Execute(select customer, PHONE_NO, ADDRESS_LINE1, ADDRESS_LINE2 from CUSTOMER, false) % line 1149, file: adodb.inc.php
ADOConnection.Execute(select customer, PHONE_NO, ADDRESS_LINE1, ADDRESS_LINE2 from CUSTOMER) % line 1546, file: index.php
blank_apl.controle() % line 1893, file: index.php

O engraçado é que ele  tenta acessar na nova conexão o banco do Scriptcase.
Ou seja o banco interno do Scriptcase onde tem os projetos.
E não o banco que discriminamos para nova conexão.

$arr_conn = array();

$arr_conn['drive'] = "firebird";
$arr_conn['server'] = "localhost";
$arr_conn['user'] = "XXXXXXXXXXX";
$arr_conn['password'] = "XXXXXXXXXXXXX";
$arr_conn['database'] = "/XXXXXXXXXXXXXXXXXXXXXXX/employee.fdb";
$arr_conn['persistent'] = "N";
$arr_conn['encoding'] = "none";


sc_connection_new("firebirdnew", $arr_conn);

$check_sql = "select CUSTOMER PHONE_NO, ADDRESS_LINE1, ADDRESS_LINE2 from CUSTOMER";
sc_lookup(rs, $check_sql,"firebirdnew");
if (isset({rs[0][0]}))     // Row found
{
echo     {rs[0][0]}."<br>";
echo     {rs[0][1]}."<br>";
echo     {rs[0][2]}."<br>";
echo     {rs[0][3]}."<br>";
}
« Última modificação: Junho 07, 2018, 11:17:16 am por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2203
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:sc_connection_new, scriptcase9 e sqlite
« Responder #12 Online: Julho 04, 2018, 01:03:19 am »
Resolvido através de contato pelo bugs@netmake.com.br  e feedback@netmake.com.br
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr