sexta-feira, 8 de abril de 2016

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



Fonte - Forum - Adriano



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())







Nenhum comentário:

Postar um comentário

Teste

Teste
teste