|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
Home → WINDEV 25 → WM - Windev Mobile com OleDB com o Banco de Dados Oracle |
WM - Windev Mobile com OleDB com o Banco de Dados Oracle |
Started by Boller, Feb., 27 2016 11:06 PM - 7 replies |
| |
| | | |
|
| |
Registered member 4,521 messages |
|
Posted on February, 27 2016 - 11:06 PM |
Prezados,
Segue exemplo de como trabalhar com OleDB e Oracle no Mobile:

OBSERVAÇÃO IMPORTANTE:
PARA CONECTAR NO BANCO COM SEGURANÇA CRIE NO PROJETO CONSTANTES E NELAS DEFINA OS VALORES POIS SE CASO DECOMPILAR O PROJETO JAVA A ONDE FOI COLOCADO CONSTANTS ELA NAO SAO DECOMPILADAS FICANDO ASSIM OFUSCADA ESSA INFORMAÇÃO E EVITANDO A INVASAO NO SEU BANCO DE DADOS.
EXEMPLO:
ipExterno = 188.155.20.70 conexao = X usuario = Y senhaBanco = Z1W5C9V7N5B3T4Q6T5C8B5N2X3Y1Z2A7M8K9L6P3T conexaoOle = PADRAO tipoconexao = ABACAXI
AS PROCEDURES ABAIXO VAO PERMITIR CRIAR UM DATA SOURCE NA MEMORIA DO CELULAR PROVENIENTE DIRETAMENTE DO SERVIDOR ORACLE, ACESSO NATIVO USANDO OS COMANDOS SQL DO ORACLE COMO SE ESTIVESSE NO PLSQL.
Procedure ConectaBanco()
ConnectionNum is int
IF gTipo=False THEN ConnectionNum = SQLConnectWS(ipExterno, ... conexao, usuario, senhaBanco,conexaoOle,tipoconexao) ELSE ConnectionNum = SQLConnectWS(ipInterno, ... conexao, usuario, senhaBanco,conexaoOle,tipoconexao) END IF ConnectionNum <> 0 THEN RESULT True ELSE SQLInfo() Error("A conexão falhou. " + CR + ... "Erro: " + ... SQL.Error + CR + SQL.MesError) RESULT False END
Procedure DesconectaBanco() SQLDisconnect()
PROCEDIMENTOS DE IMPORTAÇÃO DAS CONFIGURAÇÕES
Procedure View_Config()
ok is boolean = False
sSQL is string = "select * from mir_conf_cidadecorp t where t.status=1"
bExecutaSql is boolean = SQLExec(sSQL,"Qry_Config")
Win_Principal.PBAR_Config=0
IF bExecutaSql THEN
HDeleteAll(T001_Config)
WHILE SQLFetch("Qry_Config")
Win_Principal.PBAR_Config+=1
T001_Config.T001_Descricao=SQLGetCol("Qry_Config",1) T001_Config.T001_Valor=SQLGetCol("Qry_Config",2) T001_Config.T001_Status=SQLGetCol("Qry_Config",3) ok = HAdd(T001_Config) IF ok = False Log(ErrorInfo()) END
END
Win_Principal.PBAR_Config=100
ELSE Info("Erro de execução SQL","Relate p/ Miron.") END
PROCEDIMENTOS DE IMPORTAÇÃO DO CADASTRO DE PRODUTOS
Procedure View_Produto()
nLinhas is int
IF ConectaBanco() THEN
sSql2 is string = "select count(p.seqproduto) nlinhas from vcorp_produto p" bExecutaSql2 is boolean = SQLExec(sSql2,"Qry_Produto2") Multitask(1)
IF bExecutaSql2 THEN WHILE SQLFetch("Qry_Produto2") = 0 nLinhas = SQLGetCol("Qry_Produto2",1) END ELSE Info("Erro de execução SQL","Relate p/ Miron.") RETURN END SQLClose("Qry_Produto2") nLoops = RoundUp(nLinhas/100,0) Win_Principal.PBAR_Produto..MaxValue=nLoops Win_Principal.PBAR_Produto=0 HDeleteAll(T002_Produto) Multitask(1) FOR i = 1 TO nLoops Win_Principal.PBAR_Produto+=1 sSql is string = "select * from vcorp_produto where rownum<="+i*100+" and rownum>="+(i-1)*100+1 bExecutaSql is boolean = SQLExec(sSql,"Qry_Produto") Multitask(1) ok is boolean sErro is string ="Erros ao gravar produtos : " + CRLF IF bExecutaSql THEN
WHILE SQLFetch("Qry_Produto") = 0 T002_Produto.T002_SeqProduto=SQLGetCol("Qry_Produto",1) T002_Produto.T002_Desccompleta=SQLGetCol("Qry_Produto",2) T002_Produto.T002_Seqfamilia=SQLGetCol("Qry_Produto",3) T002_Produto.T002_EAN=SQLGetCol("Qry_Produto",4) ok = HAdd(T002_Produto) IF ok=False THEN sErro+=SQLGetCol("Qry_Produto",1)+CRLF Info("Erro: "+ErrorInfo()) END END Multitask(1) ELSE Info("Erro de execução SQL","Relate p/ Miron.") RETURN END LogApp(sErro)
END SQLClose("Qry_Produto")
END DesconectaBanco()
OUTRO EXEMPLO
sSqlx = "select * from vcorp_produto p where p.dtaalteracao>=fdata('"+DtaUltImportacao+"') and p.dtaalteracao<trunc(sysdate)" bExecutaSql is boolean = SQLExec(sSqlx,"Qry_Produto") Multitask(1) sErro is string ="Erros ao gravar produtos : " + CRLF IF bExecutaSql THEN Win_Principal.PBAR_Produto..MaxValue=100 Win_Principal.PBAR_Produto=0 WHILE SQLFetch("Qry_Produto") = 0 ok=HReadSeekFirst(T002_Produto, T002_SeqProduto, SQLGetCol("Qry_Produto",2)) T002_Produto.T002_SeqProduto=SQLGetCol("Qry_Produto",2) T002_Produto.T002_Desccompleta=SQLGetCol("Qry_Produto",3) T002_Produto.T002_Seqfamilia=SQLGetCol("Qry_Produto",4) T002_Produto.T002_EAN=SQLGetCol("Qry_Produto",5) HSave(T002_Produto) END Win_Principal.PBAR_Produto=100 Multitask(1) ELSE Info("Erro de execução SQL","Relate p/ Miron.")
END LogApp(sErro) SQLClose("Qry_Produto")
RESULTADO OBTIDO: 33.000 REGISTROS EM 2.500KB HFSQL e busca local instantânea

https://www.facebook.com/photo.php… https://www.facebook.com/photo.php… https://www.facebook.com/photo.php… https://www.facebook.com/photo.php… https://www.facebook.com/photo.php…
Agora com esse exemplo é só dar asas a imaginação, esta acessando de forma segura e obtendo em seu celular todos os recursos do seu servidor de Banco de dados Oracle usando WINDEV MOBILE em uma aplicação Android em suas mãos.
Cada dia fico mais feliz e impressionado com o poder que a PcSoft nos dá e também a grande responsabilidade que devemos ter com nossos clientes em ofuscar o código para evitar invasões de terceiros pelo aplicativo, pois nos oferece recursos que em outras linguagens são complexas e podemos notar aqui nesse exemplo a simplicidade do código empregado e dos recursos da ferramenta, o quanto ela é facilmente lida as instruções, ou seja, show de bola!
Sucesso a todos!

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 4,521 messages |
|
Posted on February, 27 2016 - 11:14 PM |
Prezados,
Para ofuscar use CONSTANTS, segue exemplo:
CONSTANTS ipExterno = 188.155.20.70 conexao = X usuario = Y senhaBanco = Z1W5C9V7N5B3T4Q6T5C8B5N2X3Y1Z2A7M8K9L6P3T conexaoOle = PADRAO tipoconexao = ABACAXI END
OBSERVAÇÃO: NUNCA DEIXE O SEU PROJETO ANDROID SEM USAR ESSE PROCEDIMENTO DE SEGURANÇA

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 4,521 messages |
|
Posted on February, 27 2016 - 11:24 PM |
GRANDES PODERES GRANDES RESPONSABILIDADES

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 4,521 messages |
|
Posted on February, 29 2016 - 8:16 PM |
Prezados,
Outra forma de Ter os dados seguros é armazenar em uma tabela os dados de forma criptografada ou com senha:


Desenvolva uma tela que será chamada na primeira vez e grave na tabela local com senha na tabela e criptografe os dados armazenados.
Assim seria outra técnica para proteger os dados. Uma vez que informe e logue com sucesso armazena na tabela segura e caso queira reiniciar os dados no sistema, apagaria os dados dessa configuração e solicitaria novamente o valor.
Sucesso em seus estudos!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 123 messages |
|
Posted on March, 01 2016 - 8:55 PM |
Importante Mencionar que para isso tem que ter o Reserved Webdev Server instalado
-- Atte. Willian Fernando |
| |
| |
| | | |
|
| | |
| |
Registered member 4,521 messages |
|
Posted on March, 03 2016 - 10:18 PM |
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 123 messages |
|
Posted on March, 05 2016 - 3:21 PM |
Willian Fernando a écrit :
Tem que aclarar esse ponto nem todos sabem disso
Importante Mencionar que para isso tem que ter o Reserved Webdev Server instalado
-- Atte. Willian Fernando
-- Atte. Willian Fernando |
| |
| |
| | | |
|
| | |
| |
Registered member 4,521 messages |
|
Posted on March, 06 2016 - 3:40 PM |
ok

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|