|
Inicio → WINDEV 25 → Usando um banco de dados externo de iOS ou Android com outros bancos de dados que não seja o HFSQL |
Usando um banco de dados externo de iOS ou Android com outros bancos de dados que não seja o HFSQL |
Iniciado por Boller, set., 29 2020 10:06 PM - Sem resposta |
| |
| | | |
|
| |
Membro registado 3.651 mensagems Popularité : +175 (223 votes) |
|
Publicado em setembro, 29 2020 - 10:06 PM |
o suporte do blog
Usando um banco de dados externo de iOS ou Android com outros bancos de dados que não seja o HFSQL, princípio completo e por que SQLConnecteWS pode ser válido enquanto SQLExec falha em executar a primeira solicitação?
No blog do ST
Tags: banco de dados , dados , iOS , android , comentário , externo , sqlconnectews 29 de setembro de 2020 Deixe um comentário publicado por Guillaume BAYLE Um aplicativo WINDEV executado no Windows pode se conectar com um conector nativo , um provedor OLE DB ou um driver ODBC a um banco de dados Oracle, MySQL, MariaDB SQL SERVER, PostgreSQL (…).
De forma idêntica, um aplicativo WINDEV Mobile executado no iOS ou Android pode se conectar ao mesmo banco de dados. E isso, mesmo que o editor de banco de dados não forneça um cliente nativo para iOS ou Android.
Aqui está o princípio detalhado começando com os pré-requisitos:
um servidor web no qual instalamos: o servidor WINDEV reservado com o serviço da web de acesso ao banco de dados , um conector nativo ou provedor OLE DB para acesso ao banco de dados, o cliente de banco de dados, se o servidor reservado estiver em um servidor diferente daquele que hospeda o banco de dados, abra todas as portas necessárias para a comunicação entre o cliente e a base. o aplicativo Android que vai: use SQLConnecteWS para fornecer os parâmetros de conexão ao banco de dados e o endereço do servidor que hospeda o serviço da web, SQLExec para executar consultas nos bancos de dados (como um aplicativo WINDEV faria no Windows). Como funciona: Ótimo.
Como funciona, em detalhes:
o aplicativo chama a função SQLConnecteWS com:
o endereço do webservice no servidor: este endereço é usado para recuperar a descrição do webservice (WSDL) e todos os dados necessários para seu uso.
O aplicativo mantém essa descrição na memória para uso posterior. os parâmetros de conexão do banco de dados: estes são todos os parâmetros: que será usado no servidor reservado, para fazer a conexão efetiva com a base quando necessário, os mesmos parâmetros que teriam sido usados pela função SQLConnect de um aplicativo WINDEV para se conectar ao mesmo banco de dados do servidor reservado.
O aplicativo lembra seus parâmetros de conexão.
o aplicativo chama a função SQLExec para todas as consultas ou atualizações do banco de dados. A função SQLExec irá: ligue para o serviço da web com o endereço (endereço de localização) contido em sua descrição WSDL, se esta for sua primeira chamada, acione a conexão com a base com os parâmetros armazenados ao chamar SQLConnecteWS passe o código SQL da consulta para que o servidor a execute.
Quando o serviço da web recebe uma solicitação do aplicativo móvel iOS ou Android: se for a primeira chamada faz o SQLConnect com os parâmetros recebidos para a conexão e faz o SQLExec com o código SQL do pedido, para todas as chamadas subsequentes, ele executa o SQLExec com o código SQL passado pelo aplicativo móvel. O webservice, portanto, serve apenas como um intermediário para contornar a ausência de um cliente para o banco de dados.
O princípio deste mecanismo é simples, mas existem, portanto, alguns intermediários que podem brincar com os grãos de areia. As armadilhas mais comuns que bloqueiam consultas são:
Falha na chamada do webservice no SQLConnecteWS : verifique a configuração do servidor web, ele não tem RAWP (o servidor reservado) ativado no site virtual do servidor web que recebe a solicitação, falha ao chamar o serviço da web no primeiro SQLExec :
o endereço de consumo do serviço da web não é válido: o "endereço de localização" contido em sua descrição WSDL é falso. É o que acontece se na instalação do servidor reservado foi atribuído um nome ou um endereço IP da rede local, inacessível quando é chamado a partir de um domínio. Neste caso, o mais simples é:
Reinstalar o servidor reservado, na etapa "Endereço do serviço da web", indique o endereço externo ou, melhor ainda, o domínio que permite o acesso ao servidor web que hospeda o webservice. servidor reservado, cliente de banco de dados, conector nativo ou provedor OLE DB não estão no mesmo modo de compilação exclusivo: todos devem ser de 32 bits ou todos devem ser de 64 bits. ou os parâmetros de conexão não são adequados: o teste no servidor no qual o servidor reservado está instalado de um SQLConnecting com um executável WINDEV pode facilitar as pesquisas para verificar os parâmetros.
Bom saber :
Podemos recuperar a descrição do serviço da web (WSDL) como a função SQLConnecteWS faz . Por exemplo, se dermos a SQLConnecteWS o endereço https: // myserver, o WSDL será recuperado com:
https: //myserver/WDSOAPDB_WEB/awws/WDSOAPDB.rawws? Wsdl
Isso permite, por exemplo, verificar o endereço de chamada ("endereço de localização" no final) do serviço da web pela função SQLExec .
Você também pode testar a versão do servidor reservado que hospeda o webservice:
https: // meu servidor / RAWP / RAWP / EXE / VERSION
Quando o webservice não tiver sido instalado com o endereço correto a ser consumido (consulte "endereço de localização" acima), ou se este endereço mudar, o endereço pode ser substituído diretamente no servidor sem passar pela reinstalação completa. Neste caso, o endereço deve ser alterado: no arquivo WSDL do servidor (por meio de um editor de texto):
C: \ Arquivos de programas \ PC SOFT \ Reserve Server <versão> \ WDSoapDB \ wdsoapdb.wsdl no valor de URL da chave de registro (por meio do programa REGEDIT): HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ PC SOFT \ RSERVER \ <version> \ Webservices \ wdsoapdb
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
|