PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WX - Como alterar a conexão ao DB do user Groupware via código, usando servidor A ou servidor B (local/remoto)?
WX - Como alterar a conexão ao DB do user Groupware via código, usando servidor A ou servidor B (local/remoto)?
Iniciado por adrianoboller, abr., 06 2016 2:57 AM - 5 respostas
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em abril, 06 2016 - 2:57 AM
Prezados,

Como alterar a conexão ao DB do user Groupware via código, usando servidor A ou servidor B (local/remoto)?





gpwLogin (Função)

Conecta um usuário para um aplicativo que está usando o groupware usuário. Esta função verifica se o usuário está registrado no banco de dados de groupware usuário. Se o usuário é identificado, o aplicativo é iniciado automaticamente usando os direitos definidos para este usuário.

Nota : No janela de login é aberta automaticamente: o login e senha estão diretamente passada em parâmetro para a função. O login e senha poderia ter sido inserido em uma janela de conexão personalizada (veja o exemplo).

gpwLogin: http://doc.pcsoft.fr/en-US/?3041001

// Recuperar o login em uma janela de costume
Entrada é seqüência de
senha é cadeia
aberta ( WIN_ MyLoginWindow , Acesso , senha )
// Verifique o login
n Res é int = gpwLogin ( login , senha )
// Se o login falhar
IF n Res < > gpwOk ENTÃO
LIGAR n Res
CASE gpwError : Erro ( "Erro ao inicializar o groupware." )
CASE gpwUnknownUser : Erro ( "usuário desconhecido". )
CASO gpwInvalidPassword : Erro ( "senha inválida" )
END
EndProgram ()
END
// Recuperar o primeiro nome do usuário
FirstName é cadeia = gpwGetUserInfo ( gpwInfoFirstName )
Informações ( "Bem-vindo" + FirstName )


gpwOpenConnection (Função)

Abre uma conexão com um banco de dados específico de cliente / servidor para gerenciar os arquivos de groupware usuário no modo cliente / servidor. A conexão permanece aberta até o final da aplicação.

gpwOpenConnection é usado para definir e abrir uma conexão para os arquivos de dados de groupware usuário. Para usar a mesma conexão para todos os arquivos de dados do aplicativo, tudo que você tem a fazer é usar HChangeConnection . Em seguida, gpwOpen é utilizado para especificar a localização dos ficheiros de dados utilizados para administrar os direitos, assim como a localização dos ficheiros de dados usados ​​para identificar os utilizadores.

Nota: A partir da versão 19, HFSQL é o novo nome da HyperFileSQL.

// Use os arquivos de groupware usuário com um banco de dados MySQL
IF gpwOpenConnection ( "gpwCt" , "Test" , "PasswordMySQL" , ...
"Apollon_server" , "TEST" , hNativeAccessMySQL ) = False ENTÃO
erro ( ErrorInfo ())
ELSE
// os arquivos de groupware usuário
// são criados automaticamente
// se o usuário tem direitos sobre MySQL.
n Res é int = gpwOpen ()
// Se o login falhar
IF n Res <> gpwOk ENTÃO
LIGAR n Res
CASE gpwError :
Erro ( "Erro na inicialização." , ErrorInfo ())
CASE gpwUnknownUser :
Erro ( "usuário desconhecido". )
CASO gpwInvalidPassword :
Erro ( "senha inválida" )
END
END
// usar a mesma conexão para todos os arquivos de dados
HChangeConnection ( "* " , " gpwCt " )
Traço ( HNbRec ( CEDEX ))
END


// Altere a senha para os arquivos de groupware usuário
// pela programação
// Exemplo com o GPWUSER

Parâmetros da conexão com
CNT_GPWu_HFCS ..Provider = hAccessHFClientServer
CNT_GPWu_HFCS ..User = "UserHFServer"
CNT_GPWu_HFCS ..Password = "PasswordHFServer"
CNT_GPWu_HFCS ..Server = "HFServer"
CNT_GPWu_HFCS ..Database = "GPWu"
CNT_GPWu_HFCS ..CryptMethod = hCryptNo

// Abra o ERRO:
Erro ( HErrorInfo () + CR + ErrorInfo ())


gpwOpenConnection: http://doc.pcsoft.fr/en-US/?3041007&name=gpwopenconnection_function

Exemplo:

//Para alterar a conexão ao DB do user groupware via código, usando servidor A ou servidor B (local/remoto).

gpwInitAnalysis()

gpwUser is Data Source

CNT_GPWu_HFCS is Connection

sPasswordGPWu is string = "PCSGPW2001"

// Parâmetros da conexão
CNT_GPWu_HFCS..Provider = hAccessHFClientServer
CNT_GPWu_HFCS..User = "UserHFServer"
CNT_GPWu_HFCS..Password = "PasswordHFServer"
CNT_GPWu_HFCS..Server = "HFServer"
CNT_GPWu_HFCS..Database = "GPWu"
CNT_GPWu_HFCS..CryptMethod = hCryptNo

// Abre a conexão
gpwOpenConnection(CNT_GPWu_HFCS)
HChangeConnection(gpwUser,CNT_GPWu_HFCS)
HPass(gpwUser, sPasswordGPWu)
HCreationIfNotFound(gpwUser)
HChangePassword(gpwUser, "TEST")

CASE ERROR:
Error(HErrorInfo() + CR + ErrorInfo())


:merci:

--
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 novembro, 28 2016 - 8:34 PM
//Conexao
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/
Mensagem modificada, novembro, 28 2016 - 8:42 PM
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em novembro, 28 2016 - 9:05 PM
//Conexao
ok, ok1, ok2, ok3 is boolean

myConn is Connection
myConn..Provider = hNativeAccessSQLServer
myConn..User = "adriano"
myConn..Password = "adriano@2016"
myConn..Source = "192.168.0.162\projeto01"
myConn..Database = "projeto01"
myConn..Access = hOReadWrite

ok1 = HOpenConnection(myConn)
IF ok1 = False THEN
Info(ErrorOccurred() +" - "+ HErrorInfo())
END


IF gpwInitAnalysis() = False THEN
Error(ErrorInfo())
ok2 = False
ELSE

ok2 = True
IF gpwOpen() = gpwOk
ok3 = True
ELSE
Info(ErrorOccurred() +" - "+ HErrorInfo())
ok3 = False
END

END

NextTitle("Atenção")

IF ok1 = True AND ok2 = True AND ok3 = True THEN //deve dar tudo ok

Info("Conectou com sucesso no banco de dados!")

ELSE

Info("Falha ao tentar conectar no Servidor")

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/
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em novembro, 29 2016 - 12:18 PM
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.

//Driver nativo MS SQL Server
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.

: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/
Mensagem modificada, novembro, 29 2016 - 12:19 PM
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em novembro, 29 2016 - 3:41 PM
//Conexao do groupware com base de dados MS SQL Server usando o driver nativo

myConn is Connection
myConn..Provider = hNativeAccessSQLServer
myConn..User = "adriano"
myConn..Password = "adriano@2016"
myConn..Source = "192.168.0.162\adriano"
myConn..Database = "adriano"
myConn..Access = hOReadWrite

IF gpwOpenConnection(myConn) = False
Info(ErrorInfo())
ELSE
nRes is int = gpwOpen()
IF nRes <> gpwOk ALORS
SWITCH nRes
CASE gpwErreur :
Erreur("Erro na inicialização do Banco.", ErreurInfo())
CASE gpwUtilisateurInconnu :
Erreur("Erro desconhecido.")
CASE gpwMotPasseInvalide :
Erreur("Acesso inválido.")
FIN
FIN
HChangeConnection("*", myConn)
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/
Mensagem modificada, novembro, 29 2016 - 3:47 PM
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em dezembro, 02 2016 - 5:27 PM
LINK COMPLEMENTAR:

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/618-funcionamento-groupware-com-driver-nativo-sql-server/read.awp

: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/