PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → [WM 19] SQLConnectWS e Apache (Windows) com Reserved WebDev Application Server
[WM 19] SQLConnectWS e Apache (Windows) com Reserved WebDev Application Server
Iniciado por Willian Fernando, fev., 16 2015 3:05 PM - 18 respostas
Membro registado
123 mensagems
Popularité : +46 (46 votes)
Publicado em fevereiro, 16 2015 - 3:05 PM
Abaixo Link de um PDF explicando como se conectar com SQLConnectWS utilizando o Reserved WebDev Application Server
tanto na porta 80 (Standard) como em outra porta especifica.

https://drive.google.com/open…

--
Atte. Willian Fernando
Best Regards Willian Fernando
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em fevereiro, 16 2015 - 3:32 PM
Parabéns pela iniciativa Willian, que seja o primeiro de muitas contribuições.

:merci:
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em setembro, 23 2015 - 4:32 PM
Configuração do Reserved - Enviado por Willian Fernando

Linhas Adicionadas ao HTTP.CONF para o Reserved Vr 20 , funcionado aqui pra mim
Estas linhas devem estar no final do arquivo
Lembrando que si você desinstalar o Reserved estas linhas não são apagadas, eu vou la y borro elas manualmente, para reinstalar de novo em caso de testes y esas coisas...

-------------------------------------------------------------------------------
Alias /RAWP/res/ "C:/Program Files/PC SOFT/Reserved Server 20/AWP/res/"
<Directory "C:/Program Files/PC SOFT/Reserved Server 20/AWP/res/">
Require ALL granted
AddType text/cache-manifest .manifest
AddType Image/svg+xml .svg
AddType video/webm .webm
AddType text/vtt .vtt
</Directory>
ScriptAlias /RAWP/ "C:/Program Files/PC SOFT/Reserved Server 20/AWP/"
<Directory "C:/Program Files/PC SOFT/Reserved Server 20/AWP/">
Require ALL granted
</Directory>
AddType application/WebDev20-rawp .rawp
Action application/WebDev20-rawp /RAWP/RAwp.exe VIRTUAL
AddType application/WebDev20-rawws .rawws
Action application/WebDev20-rawws /RAWP/RAwp.exe VIRTUAL
<Files WDSOAPDB>
ForceType application/WebDev20-rawp
Require ALL granted
Allow from ALL
</Files>
<Files SRVRPL>
ForceType application/WebDev20-rawp
Require ALL granted
Allow from ALL
</Files>
Alias /WDSOAPDB_WEB/ "C:/Program Files/PC SOFT/Reserved Server 20/WDSoapDB/WDSOAPDB_WEB/"
<Directory "C:/Program Files/PC SOFT/Reserved Server 20/WDSoapDB/WDSOAPDB_WEB/">
Require ALL granted
AddType text/cache-manifest .manifest
AddType Image/svg+xml .svg
AddType video/webm .webm
AddType text/vtt .vtt
</Directory>
--------------------------------------------------------------------------------

Atenção atento aos caminhos essa maquina minha e de 32 Bits, SI instalar em 64 o caminho muda
Ficaria algo como

C:/Program Files (x86)/PC SOFT/Reserved Server 20

eu tive problemas tambem com o WEBDEV y o WAS que vem com ele , ao rodar um Site DO Tipo PHP não queria executar ,
dai olhei o

HTTP.CONF

y la estava o problema...
ajustei a linha y funciono de primeira


--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em outubro, 03 2015 - 3:40 PM
https://www.youtube.com/watch?t=8&v=8kC-neCmQLI

Procedure Ex_SqlConnectWs()

//Esse seria o codigo de conexao no celular para usar o comando SQLConnectWs()
//Que permite acessar uma base remota no celular sem a necessidade de criar um Webservice
//Lembro que dessa forma fica aberto todas as tabelas do seu banco e deve ter uma configuracao precisa de segurança no usuario de conexao
//Ja o Webservice é como fosse um firewall de banco de dados e prestador de serviços estipulado e restritos, poendo totalmente ser
//monitorado com logs de acesso e execuções, podendo ter um maior controle dos dados por quem é usado, podendo ate barrar o acesso pelo
//TOKEN.


//Para conexão é algo parecido com isso:
ok is boolean = False

mServerWS is string = "http://192.168.0.1:89" // <- o mesmo que informou no Reserved
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" //<-senhaDOusuárioDObanco
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
//info("Nada a mostrar")
SQLInfo("ler_table")
Info("SQL error: "+SQL.MesError,SQL.Error)
ELSE
//TableDeleteAll(Table_sua_table) //na janela vc cria uma table programada
WHILE SQLFetch("ler_table") = 0
ok = True
//TableAddLine(Table_sua_table ,SQLGetCol("ler_table",2)) // alimenta a table programada com registros
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
______________________________________________
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em outubro, 03 2015 - 3:41 PM
Procedure Ex_SqlConnectWs()

//Esse seria o codigo de conexao no celular para usar o comando SQLConnectWs()
//Que permite acessar uma base remota no celular sem a necessidade de criar um Webservice
//Lembro que dessa forma fica aberto todas as tabelas do seu banco e deve ter uma configuracao precisa de segurança no usuario de conexao
//Ja o Webservice é como fosse um firewall de banco de dados e prestador de serviços estipulado e restritos, poendo totalmente ser
//monitorado com logs de acesso e execuções, podendo ter um maior controle dos dados por quem é usado, podendo ate barrar o acesso pelo
//TOKEN.


//Para conexão é algo parecido com isso:
ok is boolean = False

mServerWS is string = "http://192.168.0.1:89" // <- o mesmo que informou no Reserved
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" //<-senhaDOusuárioDObanco
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
//info("Nada a mostrar")
SQLInfo("ler_table")
Info("SQL error: "+SQL.MesError,SQL.Error)
ELSE
//TableDeleteAll(Table_sua_table) //na janela vc cria uma table programada
WHILE SQLFetch("ler_table") = 0
ok = True
//TableAddLine(Table_sua_table ,SQLGetCol("ler_table",2)) // alimenta a table programada com registros
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
______________________________________________
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em outubro, 03 2015 - 4:07 PM
Maiores detalhes:



--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
______________________________________________
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em janeiro, 07 2016 - 2:16 PM
Meus Prezados Amigos

O Was uma vez instalado deve ter as DLLs dos Drivers de conexões dos banco de dados como se estivesse rodando localmente. Se sua aplicação não rodar no servidor localhost 127.0.0.0, também não vai rodar remotamente ou o seu site ou webservice vai funcionar.
Verique se usou Odbc se as connections foram criadas e testadas.

Segue links complementares:


http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/763-instalacao-was-reserved/read.awp…
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1563-webservice-com-apache/read.awp…
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1747-was-webdev-aplication-server/read.awp…
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1492-install-webdev-aplication-server-was/read.awp…
http://forum.pcsoft.fr/fr-FR/pcsoft.fr.webdev/55702-was-webdev-aplication-server-config/read.awp…
http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/21-19-sqlconnectws-apache-windows-com-reserved-webdev-application/read.awp…
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1595-webservice-example-apache-httpd-conf-configuration-webservice-exemplo/read.awp…

a) Verifiquem o Firewall (desabilite temporariamente se for preciso)
b) troquem a porta do Skype para não usar a porta 80 e 8080 ou as portas que seu roteador vai usar pra rotear o seu site pelo Apache ou IIS
c) verifique se tem algum programa usando as portas 80 e 8080 com o comandos abaixo:

Ms-Dos: c:\>Netstat -ao

Linux: # netstat -na | grep tcp

d) copie as dll dos drivers
e) faça o checkout de configurações do was se esta tudo verde e nao tem nenhuma pendência
f) libere as diretivas necessárias para ftp e htpp para que o site rode no Apache e no IIS
g) leia o manual sobre o WAS e verifique toda a infraestrutura

--
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/
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em janeiro, 07 2016 - 8:21 PM
Prezados

Material complementar para os seus estudo do WAS com Apache:

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/849-oledb-sql-server-apache-webdev-851/read.awp

https://www.apachelounge.com/viewtopic.php…

ERRO QUE OCORRIA ANTES DO AJUSTE:





DEPOIS DE CORRIGIDO:





VOLTO A LEMBRAR: DEVE SER ATUALIZADO PARA "APACHE 2.4.9" OU SUPERIOR

https://httpd.apache.org/

http://olex.openlogic.com/packages/apache/2.4.9 (download) OU SUPERIOR

http://olex.openlogic.com/packages/apache/2.4.9…

http://projects-old.apache.org/indexes/quick.html

Espero que com essas informações se torne simples o que já é fácil com a plataforma Wx.

--
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/
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em maio, 03 2016 - 9:53 PM
//Sqlconnectws01

ConnectionNum is int

ConnectionNum = SQLConnectWS("http://MyServer/WDSOAPDB_WEB/", ...
"MS Access 97 Database", "", "", "", "ODBC")
IF ConnectionNum <> 0 THEN
// The connection was successful
...
ELSE
// The connection failed: displaying an error message
SQLInfo()
Error("The connection to the data source " + SourceName + ...
" failed." + CR + "Error code: " + ...
SQL.Error + CR + SQL.MesError)
END
// In any case (connection OK or not)
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/
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em junho, 16 2016 - 12:43 AM
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.

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 25 2016 - 11:30 PM
EXEMPLOS:

//Help: http://doc.pcsoft.fr/en-US/?3072005&name=sqlconnect_function
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")
// Conexão remota com o MySQL database
Connexão = SQLConnect("192.168.1.51", "User", "Password", "test", "MySQL")



//SQLInfo() ou SQLError()
//Help: http://doc.windev.com/en-US/?3072028&product=WD&productversion=XXA150056M
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/
Publicado em agosto, 10 2016 - 11:48 PM
Good afternoon I was looking at your examples and managed to connect to a mysql database correctly and also I can do queries, I did this in an Android app but now I want to do the same in iOS, but I can't get it to do any queries. The iphone connects to the WDRServer but it can't do anything more, whenever I do a SQLExec it throws an error which states that there is no HTTP server on the machine and that there is a problem sending information on the socket, following the error number 10072. Can you help me?
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 11 2016 - 2:53 PM
Publicado em agosto, 11 2016 - 11:25 PM
Thanks for the reply :) So I can't use the webserver provided by windev to connect when using iOS?
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 12 2016 - 1:47 PM
Prezado Luiz,

Para sua segurança, jamais use conexão direta com o seu banco de dados, colocando o ("usuário, senha, host e database") no seu código de sua aplicação mobile. O código JAVA pode ser decompilado, aberto, eu já fiz isso e aparece essa linha, muito perigoso ter acesso direto ao seu banco, é igual a trancar a sua casa e colocar a chave no tapete da porta da frente.

O hacker/cracker pode fazer o download das informações e em seguida dar um drop do seu banco de dados, então eu jamais usaria o comando SQLExec(...) ou o comando SqlConnectWs(...) no Windev Mobile, pois é possivel decompilar e pegar a string de conexão. Então sempre falo para todos usarem WEBSERVICES com tokens de acesso, pois você só cria métodos para o banco de dados e a conexão fica do lado do servidor, em nenhum momento a pessoa terá acesso as informações do seu webservice desde que você não esqueça o serviço de servidor de ftp em anonymos ou sem uma segurança mínima de firewall de acesso físico ao servidor decente ligada.

Com o webservice você cria os métodos de "insert, update, delete e select" somente daquilo que você acha interessante ter publico ou restrito ao celular, não fazendo pra todas as tabelas do banco, só a que você vai usar em sua aplicação.

Em meus exemplos que tem no meu site e aqui no fórum você vai ver que eu uso token de conexão em meus métodos do webservice, ou seja, se não tem o token, não faz nada. Imagine meu querido amigo que o webservice é um firewall do seu banco de dados e do jeito que você quer fazer as coisas é como fosse publico e sem segurança nenhuma. Isso é minha opinião e defendo ela até de baixo da água. Mas existe outros que não querem tanta segurança, mas acho que é problema deles.

Em resumo, o webservice é muito simples de fazer, não vejo por que não usar se é para o seu bem, é igual sinto de segurança um dia você acaba precisando.

Veja os links abaixo como é simples, ok:

http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1514-creating-internal-functions-for-your-webservice-criando-funcoes/read.awp

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/546-webdev-webservice-funcoes-internas-para-auxilizar-criacao-xml/read.awp

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/763-instalacao-was-reserved/read.awp

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/443-was-webdev-aplicativo-server-494/read.awp

Bons estudos, precisando de consultoria via skype meu id é adrianoboller

Forte abraço e sucesso!

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Publicado em agosto, 12 2016 - 7:54 PM
Thanks a lot adriano! :D

So now instead of using SQLExec I got to make a webservice function for each query that I need and return the values from the mysql server right?
Publicado em novembro, 25 2016 - 3:39 PM
Estou tentando me conectar com um banco mysql, porém nao esta dando certo, configurei o http.conf, mas quando vou checar aparece esse erro da imagem e no workbench esta funcionando.











Desde já muito obrigado
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em novembro, 26 2016 - 11:48 PM
Prezado Anderson,

Se não instalar o driver nativo do mysql no servidor onde esta o WAS, não vai funcionar nem aqui e nem na China...

Está no meu site em indice esse link:

520 - [pcsoft.br.windev] Tutotial Completo WAS (Webdev Aplication Server) *****

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/443-was-webdev-aplicativo-server-494/read.awp

Tem tudo o que voce precisa para fazer funcionar

Se possivel me passe o erro que está dando, mas a principio é a falta de estar instalado o driver do Mysql no servidor.

Free Native Access
MySQL April 20, 2016
http://www.windev.com/ts/download/common-modules-21/mysql.htm

PostgreSQL April 20, 2016
http://www.windev.com/ts/download/common-modules-21/postgresql.htm

MariaDB April 20, 2016
http://www.windev.com/ts/download/common-modules-21/mariadb.htm

OK

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
123 mensagems
Popularité : +46 (46 votes)
Publicado em outubro, 26 2017 - 10:59 PM
Flow de como funciona






--
Atte. Willian Fernando