Usando File Manager 3 -ulio Cpsar Pedroso

Propaganda
8VDQGR)LOH0DQDJHU-XOLR&pVDU3HGURVR
Introdução ....................................................................................................................... 9
Drivers suportados..................................................................................................... 9
Principais funcionalidades ........................................................................................ 9
Limitações ................................................................................................................... 9
Instalação ...................................................................................................................... 11
Executando o Template Utilitário em versões inferiores à 3.26 ....................... 11
Notas sobre o Template Utility............................................................................... 11
Recomendações específicas para os novos usuários........................................... 12
Antes de começar .................................................................................................... 12
O Início....................................................................................................................... 12
Algumas recomendações para os novos usuários do SQL .................................. 13
Roteiro de Exemplos do File Manager 3.................................................................. 14
Começando................................................................................................................... 15
Adicionando o FM3 à sua aplicação ..................................................................... 15
Adicionando a Extensão Global......................................................................... 15
Adicionando os Defines do Projeto – Usuários do Clarion 5. ....................... 15
Adicionando a janela SQL_Connect ................................................................. 15
Configurando a procedure RuntimeFilemanager............................................ 17
O que deve ser feito no Dicionário de dados? ................................................ 17
Regras essenciais a serem seguidas pelos usuários do FM3.......................... 18
Usando AutoUP............................................................................................................ 19
Quem deve usar o AutoUP..................................................................................... 19
Como funciona...................................................................................................... 19
Implementação ......................................................................................................... 19
Adicionando o AutoUP a uma aplicação .EXE simples ................................. 19
Adicionando AutoUP a uma aplicação Multi Dll .............................................. 20
Adicionando AutoUP à uma aplicação Legacy .Exe ...................................... 20
Adicionando AutoUp à uma aplicação Legacy Multi Dll ................................ 20
Adicionando AutoUP à uma aplicação que utiliza o IP Driver ...................... 21
Considerações adicioais sobre o IP Driver ...................................................... 22
Terceiro Caso ....................................................................................................... 22
Problemas relatados............................................................................................ 22
Auto UP e o Dynamic File Driver (DFD)........................................................... 23
Esclarecimentos adicionais .................................................................................... 23
Adicionando o AutoUP à uma aplicação nova ................................................ 23
Adicionando o AutoUP à uma aplicação já existente..................................... 23
Adicionando AutoUP a uma aplicação de Conversão de Drivers – TPS /
SQL ........................................................................................................................ 24
Adicionando AutoUP a uma aplicação DET ou DEF...................................... 24
Como fazer alterações básicas nas estruturas dos arquivos? ............................. 25
Como Adicionar / Alterar o número da versão do arquivo? .............................. 25
Como alterar o nome de um arquivo? .................................................................. 27
Como alterar o nome de um campo? ................................................................... 27
Como alterar o prefixo de um arquivo? ................................................................ 27
Como preparar (prime) campos novos?............................................................... 28
Campos numéricos .............................................................................................. 28
Campos String ...................................................................................................... 28
Campos Auto-numeráveis .................................................................................. 28
2
8VDQGR)LOH0DQDJHU-XOLR&pVDU3HGURVR
Preparando (prime) campos de arquivos que já contenham dados............ 29
Como adicionar senhas a arquivos ou como alterar a senha de um arquivo?
.................................................................................................................................... 29
Aprendendo sobre as Opções de Usuário do Dicionário de Dados .................... 30
Detalhando as opções de usuário do Dicionário de Dados .............................. 33
Version................................................................................................................... 33
OldName (Nivel de arquivo) ............................................................................... 33
OldName (a nível de Campo) ............................................................................ 33
SetIfNew ................................................................................................................ 33
UnRealField (SQL)............................................................................................... 33
RealField (SQL).................................................................................................... 34
AutoNumber (SQL) .............................................................................................. 34
TableSpace (SQL) ............................................................................................... 34
ZeroNull (SQL)...................................................................................................... 34
OldPrefix ................................................................................................................ 34
IgnoreDriver .......................................................................................................... 35
FM3IGNORE......................................................................................................... 35
DctMasterFields (SQL)........................................................................................ 35
DctMasterKeys (SQL).......................................................................................... 35
DctMasterRelations (SQL).................................................................................. 35
DctMasterField (SQL).......................................................................................... 35
DctMasterKey (SQL)............................................................................................ 35
ForceSQLDataType (SQL) ................................................................................. 35
Overrides ................................................................................................................... 35
Ignorando arquivos DAT pré existentes ........................................................... 35
Ignorando um arquivo em particular ................................................................. 36
Decrementando a versão do arquivo................................................................ 36
O arquivo UPG.TPS .................................................................................................... 37
Quando devo distribuir o arquivo UPG?............................................................... 37
Distribuindo uma app nova para novos clientes ............................................. 37
Você já possui uma aplicação com arquivos DAT do Clarion ...................... 37
Aplicações que usam arquivos TPS ou Btrieve .............................................. 37
Aplicações existentes que usam TPS ou Btrieve com alterações estruturais
................................................................................................................................ 37
Forçando o posicionamento do arquivo UPG.TPS............................................. 38
Detalhes adicionais a respeito do arquivo UPG. Cuidados a serem levados
em conta ................................................................................................................ 38
Suporte a múltiplos Data sets ................................................................................ 38
Arquivos não SQL ................................................................................................ 38
Arquivos SQL........................................................................................................ 39
Suporte à grandes Aplicações e grandes Dicionários ....................................... 39
Adicionando o template de código VLDS:FM3 Init ......................................... 39
Como manipular um Erro 47 preexistente ........................................................... 40
SQL para usuários do File Manager 3...................................................................... 41
Criando o procedimento de conexão .................................................................... 41
Criando uma aplicação separada para atualização da aplicação SQL........... 42
Tratamento de Erros.................................................................................................... 44
Erros de Compilação ............................................................................................... 44
Assertion failed on line: 303 in file abfile.clw. Message: You are calling
CLOSE(thefile) instead of FileManager.close(). Shall I GPF?...................... 44
3
8VDQGR)LOH0DQDJHU-XOLR&pVDU3HGURVR
Compile Error: Link Error: Too many segdef in file Error(6): cif$fileclose The
handle is invalid .................................................................................................... 44
Link Error: Duplicate symbol: SQLxxxxxxxxxx, file FM2.OBJ (Repeated for
a number of functions)......................................................................................... 44
FM3 warning: ’<FieldName>’ has a non-unique external name. Invalid in
’<FileName>’ of driver: <FileDriver>. ................................................................ 45
FM3 warning: ’<FieldName>’ of type ’<FieldType>’ is invalid in
’<FileName>’ of driver: <FileDriver>. ................................................................ 45
Error Occurred: 37000 [Microsoft][ODBC SQL Server Driver][SQL
Server]Zeile 1: Failed Syntax in the File........................................................... 45
Link Error: DS_FILEOPEN is unresolved in file c:\Clarion5\xxxxxxxxx.OBJ
(Repeated for a number of functions) ............................................................... 45
Erros genéricos do FM3.......................................................................................... 45
Unable to identify driver - use ds_AddDriver driver to register drivers. ....... 45
Unable to Upgrade - Not "Using" File <file prefix>.......................................... 45
Possible file change without changing File Version number. File involved :
<filename>............................................................................................................. 46
Unable to Open UPG file : cause <error> ........................................................ 46
Unable to upgrade file which doesn'
t have a prefix : <filename> ................. 47
Unable to upgrade file - no file name available ............................................... 47
Unable to upgrade file - Error creating destination file <error>..................... 48
Unable to upgrade file - Error opening destination file <error>..................... 48
Unable to upgrade file - Error reading source file <error>............................. 48
Error Writing destination file <error> ................................................................. 48
Warning - Driver not located - GPF likely......................................................... 48
WARNING: Possible downgrade....................................................................... 48
File Corrupt. Restart program to invoke AutoFIX. Name : <FileName>...... 48
Errorcode received on open: <error>................................................................ 48
Unable to Open MDI window.............................................................................. 48
FM3: Unable to upgrade. Access to the existing file has been denied ...... 49
Erros específicos do SQL ....................................................................................... 49
FM3 cannot detect any connection properties for this file: <FileName> ..... 49
WARNING: FM3 detects this application contains older file structures than
the current backend version. Please upgrade your Program. FM3 suggests
implementing AutoNET for automatic program file upgrades across
networks! Ending Program! ................................................................................ 49
Error locating the Database name for this file: <FileName> Owner string
searched: <FileOwner>....................................................................................... 49
File Manager 3 does not currently support this Database through ODBC:
<DataBase> Alternatively, please check that you entered the database
backend correctly on the ConnectToSQLBackend Extension Template.
Ending Program! .................................................................................................. 49
FM3 could not find the specified database (<DataBaseName>) in the
backend! ................................................................................................................ 50
Unable to open / create FM3 required system table: <gSQLFileName> .... 50
Unable to open FM3 System table: <gSQLFileName> Error posted:
<Error>................................................................................................................... 50
Unable to interpret SQL structure: [columns] Error: <FileError> .................. 50
Unable to interpret SQL structure: [keys] Error: <FileError>......................... 50
Unable to interpret SQL structure: [indexes] Error: <FileError> ................... 50
Unable to interpret SQL structure: [constraints] Error: <FileError>.............. 51
4
8VDQGR)LOH0DQDJHU-XOLR&pVDU3HGURVR
Could not create Oracle TableSpace! <FileError> Press Ignore to create
the table in the default tablespace..................................................................... 51
WARNING: This table already contains an IDENTITY FIELD :
<TableName> Ensure there is a maximum of 1 per file. ............................... 51
FM3 has detected a SREAL datatype in your Clarion Dictionary. Oracle
does NOT support this datatype. Please update your dictionary definition to
datatype REAL. FM3 cannot manage this file! ................................................ 51
FM3 has detected an INVALID datatype in your Clarion Dictionary. FM3
does not support this datatype: <DataType> Please update your dicitonary
definition. FM3 cannot manage this file!........................................................... 51
Could not configure SQL Server for DATA ACCESS! FM3 cannot manage
this file! Error: <error>.......................................................................................... 51
FM3 File error on final open:<filename> : <driver> <error> Please ensure
you have the FireBird Client DLL installed on your workstation: gds32.dll. 52
Untrappable runtime error - program crashes at startup (during FM2/3
launching) .............................................................................................................. 52
AutoBuild ....................................................................................................................... 53
Descrição das funções de Gerenciamento de Arquivos.................................... 53
Adicionando o Auto Build à sua aplicação........................................................... 53
Adicionando o AutoBuild à uma aplicação Multi Dll ........................................... 54
Distribuição............................................................................................................ 54
AutoFix........................................................................................................................... 55
Adicionando o AutoFix à sua aplicação................................................................ 55
Esclarecimentos importantes a respeito do TPSFix....................................... 55
AutoNET ........................................................................................................................ 56
Implementação ......................................................................................................... 56
Sincronizando mais que um diretório................................................................ 57
Notas ...................................................................................................................... 57
Distribuição............................................................................................................ 58
Problemas e Soluções ........................................................................................ 58
Check List.................................................................................................................. 58
Debugando o FM3 ................................................................................................... 58
Acionando as opções do Debug............................................................................ 59
Dicas sobre o Debug View ................................................................................. 59
Criando uma Aplicação de Exemplo..................................................................... 60
Algumas regras para as aplicações de exemplo ............................................ 60
Arquivos que devem acompanhar o pedido de suporte ................................ 61
Distribuindo uma aplicação com o FM3 habilitado ............................................. 61
Suporte à idiomas (internacionalização). ............................................................. 61
Convertendo aplicações FM2 para o FM3............................................................... 63
SQL – Uma nova visão ............................................................................................... 64
Principais características dos Bancos de dados................................................. 64
Princípios fundamentais do desenvolvimento Clarion com SQL...................... 65
Questões a serem respondidas antes de começar!....................................... 65
Usar o Dicionário de Dados ou usar somente o Backend? .......................... 65
De quem é a responsabilidade pela manutenção do Banco de dados?..... 65
Estruturas existentes de TPS ou SQL .............................................................. 65
Modelagem dos dados ............................................................................................ 65
Todas as tabelas devem ter uma chave primária........................................... 65
Regras para nomear Chaves primárias, Chaves únicas e Chaves
estrangeiras. ......................................................................................................... 66
5
8VDQGR)LOH0DQDJHU-XOLR&pVDU3HGURVR
Regras sobre as palavras reservadas.............................................................. 66
Definindo chaves estrangeiras como Integer .................................................. 66
Dicas e macetes....................................................................................................... 67
O atributo Owner e sua definição ...................................................................... 67
O Banco de dados SQL ...................................................................................... 67
Configurando o MSSQL como linked server ................................................... 67
Configurando o DATA ACCESS do MSSQL Server para True.................... 67
Tipos de dados SQL ................................................................................................ 68
Data e Hora (Date / Time ) ................................................................................. 68
Usando um Group com Over sobre uma String(8)..................................... 68
Usando dados do tipo DATE e do tipo TIME.............................................. 69
Usando um tipo de dado LONG .................................................................... 69
Usando um tipo de dado String ou Cstring .................................................. 70
Campos Memo ..................................................................................................... 71
Campos Reais ...................................................................................................... 71
Arrays (Dims) ........................................................................................................ 71
Índices dinâmicos e estáticos ............................................................................ 71
Tipos de dados do Oracle................................................................................... 72
Tipos de dado String muito grandes ................................................................. 72
Identificador único do MSSQL ........................................................................... 73
Binary Strings (PostgreSQL) .............................................................................. 73
Gerenciando campos .............................................................................................. 73
Gerenciando chaves................................................................................................ 75
Considerações especiais sobre o MSSQL Server.......................................... 76
Considerações especiais sobre o PostgreSQL............................................... 77
O template ConnectToSQLBackend..................................................................... 77
Tópicos e configurações avançadas................................................................. 77
Migrando para SQL.................................................................................................. 79
Antes de começar ................................................................................................ 79
Regras básicas................................................................................................. 79
Strings de Conexão ............................................................................................. 80
Nomenclatura das tabelas SQL......................................................................... 81
Conexões ODBC e os DSNs.................................................................................. 81
Como criar e configurar uma conexão ODBC................................................. 81
Como acessar bases de dados através de strings de conexão................... 81
Criando uma string de conexão para o MSSQL ......................................... 82
Criando uma string de conexão para o MSSQL2005 ................................ 82
Criando uma string de conexão para o Oracle............................................ 82
Criando uma string de conexão para o MySQL .......................................... 82
Criando uma string de conexão para o Sybase .......................................... 83
Criando uma string de conexão para o PostgreSQL.................................. 83
Criando uma string de conexão para o Firebird.......................................... 83
Oracle TableSpaces ................................................................................................ 83
Acessando múltiplas bases de dados ao mesmo tempo com um mesmo
programa. .................................................................................................................. 84
O SQL, o FM3 e o Clarion – informações importantes.......................................... 85
SQL Backend Case-Sensitivity .............................................................................. 85
Convertendo zeros e brancos dos arquivos TPS para NULL em sua base de
dados SQL. ............................................................................................................... 85
Configurando ZeroNull nas opções de usuário do Dicionário de Dados. .. 85
MSSQL – Informações adicionais ......................................................................... 85
6
8VDQGR)LOH0DQDJHU-XOLR&pVDU3HGURVR
Uma Stored Procedure muito útil ...................................................................... 85
Importando Arquivos MDF e LDF..................................................................... 86
Exportando Arquivos MDF e LDF .................................................................... 86
Firebird – Informações adicionais.......................................................................... 87
Baixando o Firebird (download)......................................................................... 87
Usuário SYSDBA e Senha ................................................................................. 87
Criando um banco de dados Firebird................................................................ 87
GDS32.DLL........................................................................................................... 88
Limitação do tamanho das chaves.................................................................... 88
Ordenamento de chaves..................................................................................... 89
Limitação de chaves compostas........................................................................ 89
PostgreSQL – Informações adicionais ................................................................. 89
O que é preciso para rodar o PostgreSQL ...................................................... 89
Configurando o PostgreSQL .............................................................................. 89
Guia para solução de problemas .............................................................................. 91
Continuo recebendo a mensagem de erro 47..................................................... 91
Quando devo apagar o arquivo UPG.TPS? ........................................................ 91
É viável diminuir a versão da tabela? ................................................................... 91
O Auto Net não parece estar funcionando........................................................... 91
Suporte a múltiplos Dicionários com um mesmo arquivo UPG........................ 92
Um erro do AutoNET diz que AutoNET.exe and File Manager are out of
Sync? ......................................................................................................................... 92
A aplicação demora para carregar depois que o FM3 foi habilitado. .............. 92
O CScan está solicitando uma senha................................................................... 92
Problemas com o alias do arquivo ao atualizar. ................................................. 92
Estou recebendo um erro: "File has no Prefix", ou "The data file is Invalid". . 92
Um campo decimal com máscara 13,3 foi alterado para máscara 13,4 e
agora o número aparece sendo dividido por 10 . ............................................... 92
GPF na saída do programa .................................................................................... 93
GPF ao acessar um arquivo................................................................................... 93
Erro: Assertion failed on line: 303 in file abfile.clw. Message: You are calling
CLOSE(thefile) instead of FileManager.close(). Shall I GPF?.......................... 93
Erro: Possible file change without changing File Version number. File
involved : <filename> após alterar a estrutura de uma tabela ......................... 93
Estou usando o Clarion 6(.1), com o template MDI Synch e o FM3 e o meu
programa trava durante uma atualização do Fm3 ............................................. 93
O FM3 atualiza com sucesso os meus arquivos, mas eu não consigo vê-los
na janela de atualização. ........................................................................................ 94
Posso atualizar todos os arquivos ao iniciar um Upgrade? .............................. 94
Existe alguma variável que eu possa setar em uma trigger para impedir que a
trigger inicie um upgrade do FM3?........................................................................ 94
O procedimento de conexão ao banco de dados está travando...................... 94
Mesmo com o user.event na procedure de conexão, ela continua travando. 94
Está ocorrendo um erro de sintaxe do tipo syntax error near the Keyword ...94
Na conversão de tabelas TPS para SQL, não ocorrem mensagens de erro,
mas os dados não são convertidos....................................................................... 94
O FM3 oferece suporte à manutenção dos relacionamentos entre tabelas no
backend? ................................................................................................................... 95
Por que não posso usar o FM3 sob um driver ODBC genérico?..................... 95
Alto consumo de recursos da CPU com o Clarion 6.......................................... 95
Explosão no processo de Upgrade após a conexão.......................................... 95
7
8VDQGR)LOH0DQDJHU-XOLR&pVDU3HGURVR
A janela de conexão reaparece assim que eu escolho uma opção de menu
no meu aplicativo. .................................................................................................... 95
Por que não posso usar a opção /TurboSQL com meus aplicativos SQL que
usam o FM3.?........................................................................................................... 95
Não consigo conectar ao banco de dados MSSQL pelo seu nome, mas
consigo com o endereço IP .................................................................................... 96
Um erro do tipo Unknown Procedure Label ocorre na linha que faz a
chamada para a procedure RunTimeFileManager ............................................ 96
Outros problemas..................................................................................................... 96
Usando o Cscan........................................................................................................... 97
Formatação ............................................................................................................... 97
Segurança ................................................................................................................. 97
Localizar (e Substituir)............................................................................................. 98
Distribuição................................................................................................................ 98
Usando o UPG View.................................................................................................... 99
Imprimindo o layout de um arquivo ....................................................................... 99
Analisando o arquivo ............................................................................................... 99
Usando o BDE – Bulk Dictionary Editor ................................................................. 100
Visão geral .............................................................................................................. 100
Funções ................................................................................................................... 100
Um início rápido...................................................................................................... 100
Executando o BDE................................................................................................. 100
Recomendações importantes – Cuidados .................................................... 106
Conclusão ................................................................................................................... 109
Bibliografia .................................................................................................................. 110
8
Download