PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 25 → Conexão Oracle usando Driver Nativo por serviço ou por SID
Conexão Oracle usando Driver Nativo por serviço ou por SID
Iniciado por Boller, 15,oct. 2022 14:34 - 1 respuesta
Miembro registrado
4.521 mensajes
Publicado el 15,octubre 2022 - 14:34
GLOBAL
gnCONTADORX is int
gnTEMPO is int
FileID is int

BancoDeDados is string
EnderecoServer is string
BancoPorta is string
UserBanco is string
SenhaBanco is string
gsExtendInfo is string
SID_Origem is string
SID_IP_Origem is string
SID_porta_Origem is string
SID_Nome_Origem is string

BancoDeDadosS2 is string
EnderecoServerS2 is string
BancoPorta2 is string
UserBancoS2 is string
SenhaBancoS2 is string
gsExtendInfo2 is string
SID_Destino is string
SID_IP_Destino is string
SID_porta_Destino is string
SID_Nome_Destino is string

Unidade is int = 0
arqini is string = fCurrentDir() + "\SINCRONIZA.INI"

x,y is int

gsHDSerial, gnTimer is 8-bytes int

gbFechar, gbEstaAcordo, gbLeu, gbWindevOpen,gbWebdevOpen, gbWindevMobileOpen, gbOnline, gbAtivaSincronia is boolean

gsNumHD, gsIP, gsUser, gsPassword, gsRadmin, gsComputador, gsResultadoConfig, gsServidor, gsIpAtual, gsName_PC, gsUserWindows is string

EXTERN "KeyConst.wl"
EXTERN "WinConst.wl"


IF ErrorInfo() > 0 THEN

Info(ErrorInfo())

Info("Se o erro diz que é um problema de arquivo .fic, ligue para 41 999491800 para ser orientado como proceder.")

Info("A principio desinstale, tenha certeza que o diretorio esta vazio e instale novamente")

END


HModifyStructure (HfsqlLocal,hmsBackgroundTask)
HCreationIfNotFound (HfsqlLocal)
HOpenConnection (ConnLocal)
HChangeConnection (HfsqlLocal,ConnLocal)

SL("Inicio da Connection Hfsql Log ...")

CONSTANT
// Nom du service
SERVICE_NOM = "ServiceSincPortaria27"
FIN


Unidade = INIRead("PARAMETROS", "unidade", "", arqini)
IF Unidade = 0 THEN
Unidade = 1
sUnistr is string = Unidade
INIWrite("PARAMETROS", "unidade", sUnistr, arqini)
END

gnTEMPO = INIRead("PARAMETROS", "tempo", "", arqini)
IF gnTEMPO = "" OR gnTEMPO = 0
INIWrite("PARAMETROS", "tempo", "5", arqini)
END


//ORIGEM
UserBanco = INIRead("PARAMETROS_ORIGEM", "usuario", "", arqini)
IF UserBanco.Size = 0 THEN
UserBanco = "teste"
INIWrite("PARAMETROS_ORIGEM", "usuario", UserBanco, arqini)
END

SenhaBanco = INIRead("PARAMETROS_ORIGEM", "senha", "", arqini)
IF SenhaBanco.Size = 0 THEN
SenhaBanco = "1234"
INIWrite("PARAMETROS_ORIGEM", "senha", SenhaBanco, arqini)
END

EnderecoServer = INIRead("PARAMETROS_ORIGEM", "servidor", "", arqini)
IF EnderecoServer.Size = 0 THEN
EnderecoServer = "127.0.0.1"
INIWrite("PARAMETROS_ORIGEM", "servidor", EnderecoServer, arqini)
END

BancoDeDados = INIRead("PARAMETROS_ORIGEM", "banco", "", arqini)
IF BancoDeDados.Size = 0 THEN
BancoDeDados = "teste"
INIWrite("PARAMETROS_ORIGEM", "banco", BancoDeDados, arqini)
END

BancoPorta = INIRead("PARAMETROS_ORIGEM", "Porta", "", arqini)
IF BancoPorta.Size = 0 THEN
BancoPorta = "1521"
INIWrite("PARAMETROS_ORIGEM", "Porta", BancoPorta, arqini)
END


gsExtendInfo = INIRead("PARAMETROS_ORIGEM", "ExtendInfo", "", arqini)
IF gsExtendInfo.Size = 0 THEN
gsExtendInfo = "Persist Security Info=False;Locale Identifier=1046;Prompt=4;OLE DB Services=-1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FDPR-7660;Use Encryption for Data=False;Tag with column collation when possible=False"
INIWrite("PARAMETROS_ORIGEM", "ExtendInfo", gsExtendInfo, arqini)
END


SID_Origem = INIRead("PARAMETROS_ORIGEM", "SID_Origem_SIM", "", arqini)
IF SID_Origem = "SIM"
SID_IP_Origem = INIRead("PARAMETROS_ORIGEM", "SID_IP_Origem", "", arqini)
SID_porta_Origem = INIRead("PARAMETROS_ORIGEM", "SID_porta_Origem", "", arqini)
SID_Nome_Origem = INIRead("PARAMETROS_ORIGEM", "SID_Nome_Origem", "", arqini)
EnderecoServer = NoSpace(SID_IP_Origem)+":"+NoSpace(SID_porta_Origem)+"/"+NoSpace(SID_Nome_Origem)
ELSE
INIWrite("PARAMETROS_ORIGEM", "SID_Origem_SIM", " ", arqini)
INIWrite("PARAMETROS_ORIGEM", "SID_IP_Origem", " ", arqini)
INIWrite("PARAMETROS_ORIGEM", "SID_porta_Origem", " ", arqini)
INIWrite("PARAMETROS_ORIGEM", "SID_Nome_Origem", " ", arqini)
END


SL("Arquivo ini lido...")

Oracle_Origem_Nativo..Access = hOReadWrite
Oracle_Origem_Nativo..ExtendedInfo = gsExtendInfo

HDescribeConnection (Oracle_Origem_Nativo,UserBanco,SenhaBanco,EnderecoServer,BancoDeDados,hOledbOracle,hOReadWrite,"")

IF HOpenConnection(Oracle_Origem_Nativo) = True THEN
ToastDisplay("Conectou em Oracle_Origem_Nativo",toastLong,vaMiddle,haCenter)
HChangeConnection(Origem,Oracle_Origem_Nativo)
ELSE
Info("BANCO DE DADOS DE ORIGEM: "+HErrorInfo()+ErrorInfo())
END

SL("Conexao com o banco Origem..."+HErrorInfo() + ErrorInfo())

//##########################################################################

UserBancoS2 = INIRead("PARAMETROS_DESTINO", "usuario2", "", arqini)
IF UserBancoS2.Size = 0 THEN
UserBancoS2 = "teste_destino"
INIWrite("PARAMETROS_DESTINO", "usuario2", UserBancoS2, arqini)
END

SenhaBancoS2 = INIRead("PARAMETROS_DESTINO", "senha2", "", arqini)
IF SenhaBancoS2.Size = 0 THEN
SenhaBancoS2 = "1234"
INIWrite("PARAMETROS_DESTINO", "senha2", SenhaBancoS2, arqini)
END

EnderecoServerS2 = INIRead("PARAMETROS_DESTINO", "servidor2", "", arqini)
IF EnderecoServerS2.Size = 0 THEN
EnderecoServerS2 = "127.0.0.1"
INIWrite("PARAMETROS_DESTINO", "servidor2", EnderecoServerS2, arqini)
END

BancoDeDadosS2 = INIRead("PARAMETROS_DESTINO", "banco2", "", arqini)
IF BancoDeDadosS2.Size = 0 THEN
BancoDeDadosS2 = "teste_destino"
INIWrite("PARAMETROS_DESTINO", "banco2", BancoDeDadosS2, arqini)
END

BancoPorta2 = INIRead("PARAMETROS_DESTINO", "Porta2", "", arqini)
IF BancoPorta2.Size = 0 THEN
BancoPorta2 = "1521"
INIWrite("PARAMETROS_DESTINO", "Porta2", BancoPorta2, arqini)
END

gsExtendInfo2 = INIRead("PARAMETROS_DESTINO", "ExtendInfo2", "", arqini)
IF gsExtendInfo2.Size = 0 THEN
gsExtendInfo2 = "Persist Security Info=False;Locale Identifier=1046;Prompt=4;OLE DB Services=-1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FDPR-7660;Use Encryption for Data=False;Tag with column collation when possible=False"
INIWrite("PARAMETROS_DESTINO", "ExtendInfo2", gsExtendInfo2, arqini)
END

SID_Destino = INIRead("PARAMETROS_DESTINO", "SID_Destino_SIM", "", arqini)
IF SID_Destino = "SIM"
SID_IP_Destino = INIRead("PARAMETROS_DESTINO", "SID_IP_Destino", "", arqini)
SID_porta_Destino = INIRead("PARAMETROS_DESTINO", "SID_porta_Destino", "", arqini)
SID_Nome_Destino = INIRead("PARAMETROS_DESTINO", "SID_Nome_Destino", "", arqini)
EnderecoServerS2 = NoSpace(SID_IP_Destino)+":"+NoSpace(SID_porta_Destino)+"/"+NoSpace(SID_Nome_Destino)
ELSE
INIWrite("PARAMETROS_DESTINO", "SID_Destino_SIM", " ", arqini)
INIWrite("PARAMETROS_DESTINO", "SID_IP_Destino", " ", arqini)
INIWrite("PARAMETROS_DESTINO", "SID_porta_Destino", " ", arqini)
INIWrite("PARAMETROS_DESTINO", "SID_Nome_Destino", " ", arqini)
END

Oracle_Destino_Nativo..Access = hOReadWrite
Oracle_Destino_Nativo..ExtendedInfo = gsExtendInfo

HDescribeConnection (Oracle_Destino_Nativo,UserBancoS2,SenhaBancoS2,EnderecoServerS2,BancoDeDadosS2,hOledbOracle,hOReadWrite,"")

IF HOpenConnection(Oracle_Destino_Nativo) = True THEN
ToastDisplay("Conectou em Oracle_Destino_Nativo",toastLong,vaMiddle,haCenter)
HChangeConnection(Destino,Oracle_Destino_Nativo)
ELSE
Info("BANCO DE DADOS DE DESTINO: "+HErrorInfo()+ErrorInfo())
END


SL("Conexao com o banco Destino..."+HErrorInfo() + ErrorInfo())


IF HErrorInfo() <> "" OR ErrorInfo() <> ""

Info("ACERTE O ARQUIVO INI","CONFIG AO SERVIDOR NAO ESTA OK",HErrorInfo() + ErrorInfo())

END


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Miembro registrado
4.521 mensajes
Publicado el 15,octubre 2022 - 14:37
Esse código acima usa o driver nativo da Pcsoft

Exemplo do arquivo ini

[PARAMETROS]
unidade=1
tempo=5
ProcessosExecutados=1 - 2022101114093326

[PARAMETROS_ORIGEM]
usuario=Teste
senha=1234
servidor=127.0.0.1
banco=bianchini
porta=1521
ExtendInfo=Persist Security Info=False;Locale Identifier=1046;Prompt=4;OLE DB Services=-1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FDPR-7660;Use Encryption for Data=False;Tag with column collation when possible=False
SID_Origem_SIM=NAO
SID_IP_Origem=
SID_porta_Origem=
SID_Nome_Origem=

[PARAMETROS_DESTINO]
usuario2=Teste_destino
senha2=senha
servidor2=192.168.202.200
banco2=producao
porta2=1521
ExtendInfo2=Persist Security Info=False;Locale Identifier=1046;Prompt=4;OLE DB Services=-1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FDPR-7660;Use Encryption for Data=False;Tag with column collation when possible=False
SID_Destino_SIM=SIM
SID_IP_Destino=192.168.202.20
SID_porta_Destino=1521
SID_Nome_Destino=producao


Maiores informações 41999491800

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