|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accueil → WINDEV 25 → Wx - Funcionamento do Groupware com o driver nativo do Ms SQL Server |
Wx - Funcionamento do Groupware com o driver nativo do Ms SQL Server |
Débuté par adrianoboller, 15 sep. 2015 15:16 - 7 réponses |
| |
| | | |
|
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 15 septembre 2015 - 15:16 |
Para integrar o GroupWare com o Ms SQL Server
Coloque em global do Projeto o seguinte código:
ConexaoGpw is Connection
IF NOT gpwOpenConnection(conexaoGpw,ConfiguracoesBancoDados.NomeUsuarioBD,ConfiguracoesBancoDados.SenhaBanco,ConfiguracoesBancoDados.NomeServidor,ConfiguracoesBancoDados.NomeBancoDados,hAccessHFClientServer,hOReadWrite)
THEN
Info("Falha na Conexão com o Grupo de Usuários"+CR+HErrorInfo())
EndProgram()
END
Meu muito obrigado ao Marco Antonio - Capitao Gancho pelo exemplo de código
[ ]´s
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 15 septembre 2015 - 15:23 |
ConexaoGpw is Connection
IF NOT gpwOpenConnection(conexaoGpw, ConfiguracoesBancoDados.NomeUsuarioBD, ConfiguracoesBancoDados.SenhaBanco, ConfiguracoesBancoDados.NomeServidor, ConfiguracoesBancoDados.NomeBancoDados, hAccessHFClientServer, hOReadWrite) THEN
Info("Falha na Conexão com o Grupo de Usuários"+CR+HErrorInfo())
EndProgram()
END
by Marco Antonio Machado skype marco_machado +551532516769
Reencaminhei para ficar mais legivel, precisava ter no forum um botao EDITAR.
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 16 novembre 2016 - 16:48 |
Usuario, Senha, Servidor, Porta, Instancia, BancoDados is string
IF Usuario <> "" AND Senha <> "" AND Servidor <> "" AND Porta <> "" AND Instancia <> "" AND BancoDados <> "" THEN Usuario = Uncrypt(Usuario,"123456789",cryptAnsi+compressLZW+cryptRC516,encodeBASE64) Senha = Uncrypt(Senha,"123456789",cryptAnsi+compressLZW+cryptRC516,encodeBASE64) Servidor = Uncrypt(Servidor,"123456789",cryptAnsi+compressLZW+cryptRC516,encodeBASE64) Porta = Uncrypt(Porta,"123456789",cryptAnsi+compressLZW+cryptRC516,encodeBASE64) Instancia = Uncrypt(Instancia,"123456789",cryptAnsi+compressLZW+cryptRC516,encodeBASE64) BancoDados = Uncrypt(BancoDados,"123456789",cryptAnsi+compressLZW+cryptRC516,encodeBASE64) ConexaoGpw is Connection IF NOT gpwOpenConnection(ConexaoGpw, Usuario, Senha, Servidor, BancoDados, hNativeAccessSQLServer, hOReadWrite) THEN Info("Falha na Conexão com o banco de dados: "+CR+HErrorInfo()) EndProgram() ELSE Info("Conexão realizada com sucesso!") END
END
-- 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 659 messages Popularité : +175 (223 votes) |
|
Posté le 28 novembre 2016 - 20:32 |
ok1, ok2 is boolean
myConn is Connection myConn..Provider = hNativeAccessSQLServer myConn..User = "adriano" myConn..Password = "adriano@2016" myConn..Source = "192.168.0.1\Projeto01" myConn..Database = "Projeto01" myConn..Access = hOReadWrite
ok1 = HOpenConnection(myConn)
ok2 = gpwOpenConnection(myConn)
IF ok1 = True AND ok2 = True
IF gpwInitAnalysis() = False THEN Error(ErrorInfo()) ELSE Info("Conexão ok com o banco de dados SQL Server e ativou o groupware") END
END
NextTitle("Atenção") IF ok = False THEN Info("Falha ao tentar conectar no Servidor") ELSE Info("Conectou com sucesso no banco de dados!") END
-- 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é, 28 novembre 2016 - 20:42 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 29 novembre 2016 - 12:17 |
Prezados,
Um aplicativo que está usando o groupware do usuário pode ser usado com um outro banco de dados diferente do HFSQL usando os Drivers Nativos Acesso a Base de Dados. Para que um aplicativo que esteja usando o groupware funcione com um Driver Nativo de Acesso, o groupware do usuário deve ser configurado para usar os arquivos de dados encontrados no servidor.
Como proceder para usar os arquivos de groupware de usuários com um Native Access:
Menu Workshop, Groupware, No painel "Project", no grupo "Project", clique em "User groupware".
ATENÇÃO: Na guia "Execução", selecione "Execução manual"
ATENÇÃO: O groupware do usuário "NÃO DEVE SER INICIADO" no modo "Execução automática" em seu aplicativo.
Selecione as diferentes opções do groupware do usuário e valide a janela.
No código da procedure de inicialização do projeto é gpwOpenConnection para descrever a conexão com o banco de dados manipulado por um Native Access.
ok1, ok2 is boolean
myConn is Connection myConn..Provider = hNativeAccessSQLServer myConn..User = "adriano" myConn..Password = "adriano@2016" myConn..Source = "192.168.0.1\Projeto01" myConn..Database = "Projeto01" myConn..Access = hOReadWrite
ok1 = HOpenConnection(myConn)
ok2 = gpwOpenConnection(myConn)
IF ok1 = True AND ok2 = True
IF gpwInitAnalysis() = False THEN Error(ErrorInfo()) ELSE Info("Conexão ok com o banco de dados SQL Server e ativou o groupware") END
END
NextTitle("Atenção") IF ok = False THEN
Info("Falha ao tentar conectar no Servidor")
ELSE
Info("Conectou com sucesso no banco de dados!")
END
ATENÇÃO: As senhas definidas para os arquivos de dados do groupware do usuário são ignoradas.
ATENÇÃO: Use gpwOpen sem especificar o PATH caminho dos arquivos de dados (ALTERE TIRE O PATH).
A notação dos diretórios não existe neste caso.
-- 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é, 29 novembre 2016 - 12:20 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 659 messages Popularité : +175 (223 votes) |
|
Posté le 02 décembre 2016 - 17:12 |
SEGREDO
Faça uma página inicial ou uma tela de splash no caso do windev
Não coloque no global do projeto, é um erro por no inicio do projeto, descobri da pior forma, abra uma pagina de
Bem-vindo ao seu projeto
Essa que vai dai chamar a tela do login do groupware.
PAGE_INDEX ou Win_Index
Nela coloque um botao e coloque o código abaixo:
//Pode ser no caso do Windev no open da janela do splash
CODE:
Connect("Server")
CRIE UM PROCEDURE LOCAL
CODE:
Procedure Connect(ServerLocal)
ok, ok1, ok2 is boolean
MeuProjetoMyConnect is Connection MeuProjetoMyConnect..Provider = hNativeAccessSQLServer IF ServerLocal = "SERVER" MeuProjetoMyConnect..User = "integracao-wd" MeuProjetoMyConnect..Password = "MeuProjeto@2016**" MeuProjetoMyConnect..Source = "192.168.0.217\MeuProjeto360" MeuProjetoMyConnect..Database = "MeuProjeto360" ELSE MeuProjetoMyConnect..User = "integracao" MeuProjetoMyConnect..Password = "MeuProjeto@2016**" MeuProjetoMyConnect..Source = "192.168.0.162\MeuProjeto360" MeuProjetoMyConnect..Database = "MeuProjeto360" END MeuProjetoMyConnect..Access = hOReadWrite MeuProjetoMyConnect..CursorOptions = hClientCursor ok1 = HOpenConnection(MeuProjetoMyConnect) ok2 = gpwOpenConnection(MeuProjetoMyConnect) IF ok1 = True AND ok2 = True IF gpwInitAnalysis() = False THEN Info("Falha ao tentar conectar no Servidor" + ErrorInfo()) ELSE ok = True Info("Conexão ok com o banco de dados SQL Server e ativou o groupware") PageDisplay(PAGE_GPU_Login,False)
END END
Simples assim!... Pois sempre funcionou!
Agora voce deve entrar no menu Workshop
Para isso click nesse botão e na opção de Menu Workshop:
Ao entra na opção Workshop clique na opção do menu Groupware
a) Marque a 3.a Opção:
CUSTOM USER GROUPWARE
b) Escolher na opção RUNTIME mude para NÃO RODAR AUTOMATICO, PARA "RODAR MANUAL" O SCRIPT DE SEGURANÇA, escolha:
MANUAL START
EM SEGUIDA
No caso do Webdev, agora sim... voce pode usar o bootstrap integrado ao groupware e modificar as telas a sua escolha.
E no caso do Windev é a mesma coisa as telas podem ser customizadas.
Agora vamos para o Componente interno e vamos mudar as tabelas de HFSQL Classic para o Driver Nativo do MS SQL Server ou Oracle ou otra base de dados com recursos de acesso direto via DLL, ODBC, OleDB.
Click com o botão direito do mouse e no menu popup do Analysis do componente Groupware.
Defina a base dados com o driver que vai usar, altere de HFSQL para o driver do seu banco de dados.
As tabelas vão mudar da cor Marrom para Azul no caso do Driver Nativo MS SQL Server
Vai ficar assim a sua análise do Groupware:
Sendo assim as tabelas ao executar a primeira vez o script do groupware cria sozinho as suas tabela e ja da a sua primeira carga inicial.
Sendo assim o sistema vai exibir a tela de login e acesso as configurações do groupware ou a tela padrao do sistema:
Usa dai para logar na primeira vez SUPERVISOR e SUPERVISOR
Bom sendo assim concluo o tutorial, passei dias tentando entender o processo corretamente.
Espero que a comunidade use essas informações e complemente esse post aqui do forum oficial da PCSOFT.
-- 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 659 messages Popularité : +175 (223 votes) |
|
Posté le 06 décembre 2016 - 19:25 |
Prezados,
Para fazer com que funcione com o driver nativo o acesso inicial com supervisor, supervisor; teremos que fazer umas mudanças.
1 - Aumentar o tamanho do campo Password de 50 para 255 da tabela GPU_User
2 - Fazer esse codigo para conectar
Vejamos:
Procedure Connect(ServerLocal)
ok, ok1, ok2 is boolean
AsplanMyConnect is Connection
AsplanMyConnect..Provider = hNativeAccessSQLServer
IF Upper(ServerLocal) = "SERVER" AsplanMyConnect..User = "adriano" AsplanMyConnect..Password = "**adriano**" AsplanMyConnect..Source = "200.168.0.2\adriano" AsplanMyConnect..Database = "adriano" ELSE AsplanMyConnect..User = "adriano" AsplanMyConnect..Password = "**adriano**" AsplanMyConnect..Source = "192.168.0.1\adriano" AsplanMyConnect..Database = "adriano" END
AsplanMyConnect..Access = hOReadWrite
AsplanMyConnect..CursorOptions = hClientCursor
ok1 = HOpenConnection(AsplanMyConnect)
ok2 = gpwOpenConnection(AsplanMyConnect)
IF ok1 = True AND ok2 = True IF gpwInitAnalysis() = False THEN Info("Falha ao tentar conectar no Servidor" + ErrorInfo()) ELSE ok = True
IF HNbRec(GPU_User) = 0 AND HNbRec(GPU_Options) = 0 GPU_Options.EncryptionPWD = 0 HAdd(GPU_Options) GPU_User.FirstName = "SUPERVISOR" GPU_User.Name = "SUPERVISOR" GPU_User.Login = "SUPERVISOR" GPU_User.Password = "SUPERVISOR" GPU_User.Phone = 41999491800 GPU_User.Supervisor = True HAdd(GPU_User)
END PageDisplay(PAGE_GPU_Login,False) END END
Esse codigo acima inicializa a carga das tabelas do Groupware
Não pode usar o gpwEncryptedPasswords() pois ele usa uma criptografia para a base de dados HFSQL.
3 - Mudar para usar a nossa criptografia:
Procedure Criptografica(Texto, CD)
IF Texto <> "" AND CD = "C" Texto = StringToInteger(Texto) Texto = InvertString(Texto) Texto = Crypt(Texto, "BatatinhaQuandoNasceEspalhaRamaPeloChao", cryptRC516+compressLZW, encodeBASE64) ELSE IF Texto <> "" AND CD = "D" Texto = Uncrypt(Texto, "BatatinhaQuandoNasceEspalhaRamaPeloChao", cryptRC516+compressLZW, encodeBASE64) Texto = InvertString(Texto) Texto = IntegerToString(Texto) ELSE Info("Nenhum valor informado na senha!") END
RESULT Texto
Procedure IntegerToString(Texto)
sNovoTexto, sNovo is string = ""
IF Texto <> "" THEN nTotal is int = Length(Texto) / 3 nPos is int = 1 LOOP (nTotal) sNovo = Middle(Texto, nPos, 3) sNovoTexto += Charact( sNovo ) nPos += 3 END END
RESULT sNovoTexto
Procedure InvertString(Texto)
sNovoTexto is string = "" IF Texto <> "" THEN nTotal is int = Length(Texto) nPos is int = nTotal LOOP (nTotal) sNovoTexto += Middle(Texto,nPos,1) nPos -= 1 END END
RESULT sNovoTexto
Procedure StringToIntegerAsplan360(Texto)
sNovoTexto is string = ""
IF Texto <> "" THEN nTotal is int = Length(Texto) nPos is int = 0 LOOP (nTotal) nPos += 1 sNovoTexto += NumToString( Asc( Middle(Texto, nPos, 1) ), "03.00f" ) END END
RESULT sNovoTexto
-- 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 659 messages Popularité : +175 (223 votes) |
|
Posté le 11 novembre 2017 - 18:21 |
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|