|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accueil → WINDEV 25 → Webdev - Sobre o WAS e SqlConnectWs Conexão Remota Mobile com Servidor SQL |
Webdev - Sobre o WAS e SqlConnectWs Conexão Remota Mobile com Servidor SQL |
Débuté par adrianoboller, 04 aoû. 2015 14:07 - 14 réponses |
| |
| | | |
|
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 04 août 2015 - 14:07 |
Prezados:
Complemento das aulas do porfessor Neri: aula 6217-6223
Caso consigo conectar no banco, porém dá a seguinte mensagem:
SQL Error: No server response. Check whether a HTTP server is present on the target computer. Problem sending information on socket. 100072
Em uso o Reserved Apache
Tente isso:
1) Apache 2.4.9 ou superior com serviço rodando 2) MySQL 3) Instalar o Reserved (WAS) 32 bits (apenas para acesso remoto a banco de dados) 3.1) Na configuração do enderêço IP do servidor (aba Advanced), informar assim, por exemplo: http://192.168.0.1:89 e não http://localhost:89 3.2) Nesta mesma aba, clicar no botão Diagnostic. Tem que dá tudo OK. Sempre, o último check dá vermelho. Tem que incluir uma linha lá no HTTP.CONF do Apache. Você sabe fazer isso? 3.3) Instalar o WX200MYSQL029.EXE (drive de acesso remoto do MySQL do Windev) 3.4) Copiar o arquivo libmysql.dll na pasta do Reserved que fica dentro da pasta "ARQUIVOS DE PROGRAMAS\PC SOFT\Reserved Server 20" 4) No aplicativo, criar as rotinas de conexão remota. Não usar o ODBC.
mServerWS is string = "http://192.168.0.1:89" mSource is string = "192.168.0.1" <- o IP DO banco mUsuario is string = "nome do usuario" <- com permissão de acesso remoto ao banco mSenha is string = "senha" <- senha DO usuário DO banco mBancoDeDados is string = "nome_do_banco" mTipo is string = "MySQL"
IF SQLConnectWS(mServerWS,mSource,mUsuario,mSenha,mBancoDeDados,mTipo) = 0 THEN SQLInfo() Error("Erro na conexão ao banco de dados", "Error code: "+ SQL.Error + CR + SQL.MesError) RETURN ELSE Info("Conectou") msql is string = "select * from sua_table" mRunSql is boolean mRunSql = SQLExec(msql,"ler_table") IF mRunSql = False THEN SQLInfo("ler_table") Info("SQL error: " + SQL.MesError,SQL.Error) ELSE TableDeleteAll(Table1) WHILE SQLFetch("ler_table")=0 TableAddLine(Table1,SQLGetCol("ler_table",2)) END END END
1. para a conexão com Bancos de Dados externa , não se utiliza o WAS y sim um Retail dele chamado de Reserved Webdev Server. vem junto com o Instalador do Windev Mobile dentro de (O WAS fica na pasta Install do Windev, WebDev ou do Mobile depois de instalados. C:\WinDev Mobile 20\Install\WDRServer). 2. Apenas se pode instalar sobre Windows, ate o momento não si tem um instalador Linux. 3. Ele não tem limite de conexões, cuidado que na configuração tem uma opção para limitar caso se deseja.
Para terminar WAS não e o mesmo que WDR --> Reserved Webdev Server, o WDR apenas serve para a conexão remota com banco de dados desde o Mobile.
O SQLConnecWS foi criado justamente para não precisarmos criar um webservice. Mas, vai da necessidade de cada um.
Links complementares:
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1563-webservice-com-apache-1594/read.awp
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1595-webservice-example-apache-httpd-conf-configuration-webservice-exemplo-1599/read.awp
http://windevdesenvolvimento.blogspot.com.br/2015/01/windevmobile-postgres-webservice.html
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 18 août 2015 - 18:53 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 03 octobre 2015 - 15:38 |
Procedure Ex_SqlConnectWs()
ok is boolean = False
mServerWS is string = "http://192.168.0.1:89" mSource is string = "192.168.0.1" mUsuario is string = "nome do usuario" mSenha is string = "senha" mBancoDeDados is string = "nome_do_banco" mTipo is string = "MySQL"
IF SQLConnectWS(mServerWS,mSource,mUsuario,mSenha,mBancoDeDados,mTipo) = 0 THEN
SQLInfo()
Error("Erro na conexão ao banco de dados","Error code: "+SQL.Error+CR+SQL.MesError)
ELSE
Info("Conectou")
msql is string = "select * from sua_table" mRunSql is boolean mRunSql = SQLExec(msql,"ler_table")
ok = False
IF mRunSql = False THEN
SQLInfo("ler_table") Info("SQL error: "+SQL.MesError,SQL.Error) ELSE
WHILE SQLFetch("ler_table") = 0 ok = True
END END
END
RESULT(ok)
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Posté le 06 octobre 2015 - 20:38 |
Adriano gostaria de saber se nao tem algum componente nativo tipo o que conecta com banco local HFSQL para fazer conexao com banco externo. A conexao Nativo mysql nao abre no analyses
mServerWS isstring="http://192.168.0.1:89"// <- o mesmo que informou no Reserved mSource isstring="192.168.0.1"<-o IPDObanco mUsuario isstring="nome do usuario"<-com permissão de acesso remoto ao banco mSenha isstring="senha"<-senhaDOusuárioDObanco mBancoDeDados isstring="nome_do_banco" mTipo isstring="MySQL"
IFSQLConnectWS(mServerWS,mSource,mUsuario,mSenha,mBancoDeDados,mTipo) =0THEN SQLInfo() Error("Erro na conexão ao banco de dados","Error code: "+SQL.Error+CR+SQL.MesError) RETURN ELSE Info("Conectou") msql isstring="select * from sua_table" mRunSql isboolean mRunSql=SQLExec(msql,"ler_table") IFmRunSql=FalseTHEN //info("Nada a mostrar") SQLInfo("ler_table") Info("SQL error: "+SQL.MesError,SQL.Error) ELSE TableDeleteAll(Table1) WHILESQLFetch("ler_table")=0 TableAddLine(Table1,SQLGetCol("ler_table",2)) END END END |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 08 octobre 2015 - 20:44 |
Prezado Kennedy
Na pasta install depois de descompactar os Wx tem no Menu.exe a instalacao do ODBC.
Basta instalar no servidor o Driver que voce for usar em conjunto com o SqlConnectWs.
Passos:
1 - crie as tabelas 2 - ligue elas um pra muitos usando o banco que vc quiser usar mysql postgresql, instale o banco e crie as tabelas e os acessos a elas. 3 - instale o reserved - configure ele conforme os videos 4 - configure o firewall como off para os testes no servidor web 5 - não pode ter nenhum programa de bate-papo tipo o Skype no servidor usando a porta 80 pois o reserved a usa 6 - configure o iis ou o apache 2.4.9 ou superior onde vc terá o acesso externo liberado para o servidor 7 - deixe no servidor o reserved sempre aberto, não o feche 8 - verifique no servidor se os serviços estão configurados corretamente e ativos para o reserved funcionar 9 - crie um app android no windev mobile coloque o código acima que exemplifiquei mas apontando para as senhas e acessos do seu servidor isso vc ve com quem montou ou vendeu o acesso a esse servidor 10 - Instale o driver do banco de dados que vai usar no servidor
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 08 octobre 2015 - 20:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 08 octobre 2015 - 20:59 |
Diretório do Reserved:
C:\WinDev Mobile 19\Install\WDRServer\WX190PACKRSRV.exe
C:\WinDev Mobile 20\Install\WDRServer\WX200PACKRSRV.exe
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 08 octobre 2015 - 21:05 |
Obs.:
Não da pra usar o apache e iis, pois os dois não pode pois entram em conflito os servidores de página por usarem a mesma porta só pode se modificar a porta padrão 80 de um deles para outra porta.
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 08 octobre 2015 - 21:15 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 03 mai 2016 - 21:46 |
Exemplo de uso do SqlConnectWs
ConnectionNum is int
ConnectionNum = SQLConnectWS("http://MyServer/WDSOAPDB_WEB/", ... "MS Access 97 Database", "", "", "", "ODBC") IF ConnectionNum <> 0 THEN
... ELSE
SQLInfo() Error("The connection to the data source " + SourceName + ... " failed." + CR + "Error code: " + ... SQL.Error + CR + SQL.MesError) END
SQLDisconnect()
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 16 juin 2016 - 00:44 |
Prezados,
Recebi a uma pergunta no meu grupo de estudos do SKYPE, https://join.skype.com/A0gbOukZv3b7, sendo ela a seguinte:
Gostaria de perguntar aos amigos, enviar dados de um celular para gravar diretamente em um servidor hyperfile c/s, poucos registros que somados não dão 1000 caracteres, é muito mais lento que enviar por Webservice?
R.: Olha, uma vez a string definida dentro de um app Android vc esta colocando o host, banco, user e senha de bandeja para o inimigo com webservice isso não fica publico fica compilado no wsdl do projeto do webservice se fizer a consulta correta a leitura é tão boa quanto imperceptível não usem o SQLConnectWS é um risco para a segurança dos seus dados. O webservice é uma segurança que vale a pena para que não ocorra a invasão no seu servidor de dados. Aplicações Android são totalmente descompiláveis de qualquer linguagem de programação.
Mas SQLConnectWS é nada mais do um conjunto de Webservices? R.: SIM! Mas a senha fica do lado errado, fica no lado do app Android e não do lado seguro do servidor.
E ai que esta o problema de segurança, só daria para fazer com SQLConnectWS
SE
Você usar um SMS Short Number, onde a pessoa ao fazer o cadastro gera no servidor um token que tendo esse token baixa os dados criptografados para uma tabela local no celular e com essa chave em outra tabela seria usada para descriptografar a string de conexão com o banco de dados remoto tem que pensar certinho esse fluxo para não deixar furo e ter isso muito bem seguro no lado do celular, por isso recomendo, façam Webservices, vocês estão tirando do app a chave de entrada no seu banco do bandido.
Pensem e reflitam muito bem no Backdoor que vocês estão criando.... eu não faria isso...
É só um conselho, segue quem quiser.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 16 juin 2016 - 02:40 |
Prezados,
Não aparece na busca do código java decompilado o comando WL, mas um similar JAVA que faz o mesmo processo, pois o Windev Mobile gera código puro nativo java compilado, mas é java, java tem decompiladores aos montes na internet. Não é uma falha do Windev Mobile de não ofuscar isso, mas da linguagem java ter essa abertura de visualizar o seu conteúdo, diferente de uma DLL que é só código de maquina o seu conteúdo, totalmente ilegível. Mas o APP java é totalmente legível, uma por ser interpretado pela JVM e depois executada, por isso não pode ser binário code o app totalmente e aqui que mora o detalhe e o diabo. Pois ate o arquivo .dex que é compilado eu decompilo de um app... imagine, não sobra nada que eu não leia do código fonte de um projeto Android, todas as regras de negocio estão expostas se elas não forem usadas com um Webservice, você abre o jogo para a concorrência. Por isso eu afirmo, USEM WEBSERVICE, pois existe muitas Vírgulas e MAS ao usar o comando SQLConnectWS.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 25 juillet 2016 - 23:31 |
EXEMPLOS:
ResSQL = SQLExec("SELECT * FROM INV", "QRY1") IF ResSQL = False THEN SQLInfo("QRY1") Info("SQL error: " + SQL.MesError) ELSE SQLTable("QRY1", TABLE_Table1) END SQLClose("QRY1")
Connexão = SQLConnect("192.168.1.51", "User", "Password", "test", "MySQL")
Exemplo: ResSQL = SQLExec("SELECT * FROM INV", "QRY1") IF ResSQL = False THEN SQLInfo("QRY1") Info("SQL error: " + SQL.MesError) ELSE SQLTable("QRY1", TABLE_Table1) END SQLClose("QRY1")
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 26 juillet 2016 - 00:19 |
REQUISITOS BÁSICOS PARA UM WEBSERVICE SOAP OU REST:
- Instalar e Configurar o IIS ou Apache
- Instalar e configurar o WAS reserved ou a versão FULL
- Configurar o Firewall
- Configurar o antivírus para aceitar os programas e drivers em execução como seguros
- Verificar as portas se nao estao sendo usadas por outros programas
- Instalar o banco de dados exemplo hfsql ou mysql... (mssqlserver, oracle, db2, as/400 sao drivers nativos pagos)
- Instalar o gerenciador de banco de dados SGDB, Center Hfsql ou phpmyadmin, workbank...
- Instalar o Driver Nativo, exemplo MySql da pcsoft
- Instalar o Noip ou contratar um IP Fixo ou um host server Windows ou Linux com acesso as configurações e execução de comandos e deixar o WAS rodando
- roteador da internet, criar o alias da porta :8081 para quando usar o endereço dns do seu noip ou do seu ip fixo seja roteado para o seu servidor no ip da classe C tipo 192.168.1.100 e o IIS ou Apache abra a sua página ou o seu webservice SOAP ou REST de qualquer lugar do planeta.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 657 messages Popularité : +175 (223 votes) |
|
Posté le 26 juillet 2016 - 00:32 |
Qualquer dúvida entre em contato
Skype adrianoboller
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 26 juillet 2016 - 00:33 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|