|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accueil → WINDEV 25 → WX - Como exportar Base de Dados .TPS para Ms SQL Server e Migrar do Clarion Softvelocity para a Plataforma WX PcSoft? |
WX - Como exportar Base de Dados .TPS para Ms SQL Server e Migrar do Clarion Softvelocity para a Plataforma WX PcSoft? |
Débuté par adrianoboller, 16 mai 2016 23:38 - 2 réponses |
| |
| | | |
|
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 16 mai 2016 - 23:38 |
Prezados,
Venho através desse meu novo post aqui no fórum oficial descrever um passo a passo de como exportar Base de Dados .TPS (Topspeed, baseado em sistema de arquivos relacionais) para o Banco de Dados Relacional Ms SQL Server e assim migrar do Clarion Softvelocity para a Plataforma WX PcSoft, espero poder contemplar todos os detalhes e tirar a duvida de todos sobre esse assunto.
Passos a serem seguidos:
1 - Exporte o TPS para SQL usando o Template Dct2SQL, caso precise de maiores detalhes sobre o template DCT2SQL, entre em contato comigo pelo skype adrianoboller.
2 - Arquivos gerados execute no servidor Ms SQL Server
3 - Execute os scripts SQL no banco de dados para gerar um espelho com os arquivos TPS
4 - Abra o dicionário de Dados do Clarion (v6.3)
5 - Menu File / Import Table
6 - Defina o tipo do driver para: Microsoft SQL
7 - Defina o acesso a base de dados
8 - Selecione a tabela ou tabelas que foram criadas no Banco de Dados MS SQL SERVER a serem utilizadas no processo de exportação dos dados.
9 - Será exibida a tabela espelho no banco de dados Ms SQL Server no Dicionário como mostra a imagem abaixo:
10 - Modifique a) Altere o nome colocando nome_SQL, b) Altere o Prefixo acrescentando o _SQL, c) Defina a variável: !Glo:PathServer no campo Owner Name Conforme a imagem abaixo:
11 - No Clarion crie uma janela para fazer o processo de importação
12 - Propriedades da Janela
13 - Design da Janela de importação
14 - Defina em Files as tabelas envolvidas no processando de importação
15 - Variáveis globais usadas
16 - Variáveis dos locais dos arquivos TPS e seus Paths
17 - Copie o arquivo: c60mssx.dll para C:\Windows\System32
18 - Definindo a função de data e hora para fazer a migração em todas as tabelas
19 - Pontos de Embed
20 - Crie os códigos nos seguintes EMBEDs de evento de código
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Antes de Abrir a Janela Definir onde estão os arquivos
GLO:SERVER = 'SERVER' GLO:BANCO = 'Info' GLO:USER = 'sa' GLO:SENHA = '2016'
GLO:PATHSERVER = GLO:SERVER & ',' & GLO:BANCO & ',' & GLO:USER & ',' & GLO:SENHA
!!!!!!!!!!!!!!!!!!!!!!!!ENDERECO DOS ARQUIVOS
GLO:ENDERECO = 'c:\software\dados'
GLO:FATPED01=CLIP(GLO:ENDERECO)&'\FATPED01.TPS' GLO:FATDUPAI=CLIP(GLO:ENDERECO)&'\FATDUPAI.TPS' GLO:FATDUPFI=CLIP(GLO:ENDERECO)&'\FATDUPFI.TPS' GLO:FATESMOV=CLIP(GLO:ENDERECO)&'\FATESMOV.TPS' GLO:FATESCAB=CLIP(GLO:ENDERECO)&'\FATESCAB.TPS' GLO:FATENTCA=CLIP(GLO:ENDERECO)&'\FATENTCA.TPS' GLO:FATENTDT=CLIP(GLO:ENDERECO)&'\FATENTDT.TPS' GLO:FATDUDET=CLIP(GLO:ENDERECO)&'\FATDUDET.TPS' GLO:FATEMPFI=CLIP(GLO:ENDERECO)&'\FATEMPFI.TPS' GLO:FATESTCX=CLIP(GLO:ENDERECO)&'\FATESTCX.TPS' GLO:FATATVXX=CLIP(GLO:ENDERECO)&'\FATATVXX.TPS'
...
DISPLAY
FuncaoHoraString FUNCTION(LONG DATAHORACAMPO) Glo:HoraString CSTRING(9) CODE
IF DATAHORACAMPO > 0 !!!!!!
Glo:HoraString = '00:00:00'
ELSE Glo:HoraString = ''
END
RETURN (Glo:HoraString)
FuncaoDataHoraString FUNCTION(LONG DATAHORACAMPO) Glo:DataHoraString CSTRING(21) CODE
!CORRIGIR CAMPOS DATAS E HORAS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ANO" = YEAR(DATAHORACAMPO) MES" = MONTH(DATAHORACAMPO) DIA" = DAY(DATAHORACAMPO)
!2016-05-15 00:00:00
IF DATAHORACAMPO > 0 !!!!!!
Glo:DataHoraString = FORMAT(ANO",@N04) &'-'& FORMAT(MES",@N02) &'-'& FORMAT(DIA",@N02) & ' 00:00:00'
ELSE Glo:DataHoraString = ''
END
RETURN (Glo:DataHoraString)
TRANSACAO ROUTINE Data CODE LOOP CASE errorcode() OF 56 OROF 48 SETCURSOR IF Message('Não foi possível iniciar transação. Tentar novamente?','Erro', Icon:hand,Button:Yes+Button:No,Button:Yes) = Button:Yes SETCURSOR(Cursor:Wait) CYCLE ELSE SETCURSOR Loc:Erro = 'S' Rollback BREAK END OF 32 OROF 37 OROF 80 SETCURSOR Message('Erro '&ERRORCODE()&' ao iniciar transaþÒo.','Erro',Icon:hand) Loc:Erro = 'S' Rollback BREAK ELSE SETCURSOR Loc:Erro = '' BREAK END END
FAZ01 ROUTINE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CLIENTES/FORNECEDORES DataClarion" = '' HoraClarion" = '' DataHoraClarion" = ''
?Progress{PROP:progress} = 0 ?Progress{PROP:rangehigh} = RECORDS(FATCLIFO)
Clear(CLIF:Record) CLIF:CLIB_CLIFOR = '' Set(CLIF:KCLIB_CLIFOR,CLIF:KCLIB_CLIFOR) LOOP UNTIL ACCESS:FATCLIFO.NEXT()
?Progress{PROP:progress} = ?Progress{PROP:progress} + 1
CLIF_SQL:RECORD :=: CLIF:RECORD
!MESSAGE(FuncaoDataHoraString(CLIF:CLIB_DATACAD))
CLIF_SQL:CLIB_DATACAD = FuncaoDataHoraString(CLIF:CLIB_DATACAD) CLIF_SQL:CLIB_DATACAD_DATE = CLIF:CLIB_DATACAD CLIF_SQL:CLIB_DATACAD_TIME = FuncaoHoraString(CLIF:CLIB_DATACAD) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLIF_SQL:CLIB_DATAM = FuncaoDataHoraString(CLIF:CLIB_DATAM) CLIF_SQL:CLIB_DATAM_DATE = CLIF:CLIB_DATAM CLIF_SQL:CLIB_DATAM_TIME = FuncaoHoraString(CLIF:CLIB_DATAM) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLIF_SQL:CLIB_ATUALIZACAO = FuncaoDataHoraString(CLIF:CLIB_ATUALIZACAO) CLIF_SQL:CLIB_ATUALIZACAO_DATE = CLIF:CLIB_ATUALIZACAO CLIF_SQL:CLIB_ATUALIZACAO_TIME = FuncaoHoraString(CLIF:CLIB_ATUALIZACAO) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLIF_SQL:CLIB_DATAULTC = FuncaoDataHoraString(CLIF:CLIB_DATAULTC) CLIF_SQL:CLIB_DATAULTC_DATE = CLIF:CLIB_DATAULTC CLIF_SQL:CLIB_DATAULTC_TIME = FuncaoHoraString(CLIF:CLIB_DATAULTC) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLIF_SQL:CLIB_DATANASC = FuncaoDataHoraString(CLIF:CLIB_DATANASC) CLIF_SQL:CLIB_DATANASC_DATE = CLIF:CLIB_DATANASC CLIF_SQL:CLIB_DATANASC_TIME = FuncaoHoraString(CLIF:CLIB_DATANASC) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLIF_SQL:CLIB_DATAADM = FuncaoDataHoraString(CLIF:CLIB_DATAADM) CLIF_SQL:CLIB_DATAADM_DATE = CLIF:CLIB_DATAADM CLIF_SQL:CLIB_DATAADM_TIME = FuncaoHoraString(CLIF:CLIB_DATAADM) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLIF_SQL:CLIB_DATANEGOCIACAO = FuncaoDataHoraString(CLIF:CLIB_DATANEGOCIACAO) CLIF_SQL:CLIB_DATANEGOCIACAO_DATE = CLIF:CLIB_DATANEGOCIACAO CLIF_SQL:CLIB_DATANEGOCIACAO_TIME = FuncaoHoraString(CLIF:CLIB_DATANEGOCIACAO) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLIF_SQL:DATA_RG = FuncaoDataHoraString(CLIF:DATA_RG) CLIF_SQL:DATA_RG_DATE = CLIF:DATA_RG CLIF_SQL:DATA_RG_TIME = FuncaoHoraString(CLIF:DATA_RG) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ACCESS:FATCLIFO_SQL.INSERT()
IF ERRORCODE()
LOC:ERRO = 1
CASE MESSAGE('DEU ERRO',ICON:QUESTION,BUTTON:YES, BUTTON:NO) OF BUTTON:YES MESSAGE('FATCLIFOR: '& ERRORCODE() & ERROR() ) BREAK OF BUTTON:NO
END
END
END
EXIT
Agora feito o processamento os dados serão lidos e adicionados na tabela espelho no MS SQL Server, e par usar pelo windev as tabelas SQL compre comigo e instale o Driver Nativo do MS SQL SERVER, ou use a conexão OleDB ou ODBC, fazendo assim o import das tabelas para o Analisys do Windev e Webdev.
Qualquer dúvida entre em contato eu atuei com Clarion durante 15 anos
Caso tenha tenha alguma sugestão entre em com contato
As marcas aqui citadas pertencem as suas respectivas empresas O Post desse fórum apenas se preocupa em ensinar a técnica de exportação de dados entre as duas plataformas.
Meu skype translator: adrianoboller
-- 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é, 17 mai 2016 - 00:04 |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2016 - 19:35 |
como fica o tipo de dados ?
pois ao carregar as tabelas TPS para o windev o mesmo nao consegue realizar CRUD devido ao tipo dos campos da tabela.
Atenciosamente , Ivandeclei Mendes |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 651 messages Popularité : +175 (223 votes) |
|
Posté le 26 octobre 2016 - 12:34 |
Ivan,
Se com tudo isso que passei de graça o caminho das pedras
Eu ministro treinamento, me adicione no skype ADRIANOBOLLER que combinamos valores, horario 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/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|