Escolar Documentos
Profissional Documentos
Cultura Documentos
ndice
1. Introduo ao ambiente Relacional
1.1.
Objetivos
1.2.
Conceitos Bsicos de Banco de Dados
1.3.
Conhecendo a estrutura de Armazenamento dos dados
1.3.1. LOG do Banco de dados
1.3.1.1.
Controle Transacional
1.3.1.2.
Segurana e Backup
1.3.1.3.
Construindo Querys evitando problemas com estouro da rea de
LOG
1.3.2. rea temporria do Banco de Dados
1.4.
Normalizao de Base de Dados
1.5.
MER (Modelo Entidade Relacionamento)
1.6.
Diferenas cruciais entre ambientes DBF e SQL
1.6.1. DBF Trabalha de forma posicional com acesso compartilhado
1.6.2. SQL Trabalha de forma relacional (Teoria dos conjuntos) e o acesso de
forma centralizada
2. TopConnect
2.1.
Informaes gerais
2.2.
Controle de tipo de dados ( Tabela TOP_FIELD )
2.3.
Opes de Visualizar os Eventos (Mensagens de Erros)
2.4.
Sistema de controle de Registros
2.4.1. Portabilidade
2.4.2. Funo da coluna R_E_C_N_O_
2.4.2.1.
Limite de registros
2.4.2.2.
Renumerao da coluna RECNO
2.4.3. Controle dos registros deletados (Coluna D_E_L_E_T_)
2.5.
Constraints do Banco de dados que so criados automaticamente
2.5.1. Criao da Estrutura de tabelas
2.5.2. ndices
2.5.3. Defaults
2.5.4. Problemas com contedo Nulo
2.6.
Manuteno do Banco de dados
2.6.1. Aumentando a performance executando a operao de PACK
2.7.
DBFNTX x TopConnect
2.7.1. ndices de produo
2.7.2. Funes em chaves de ndices
2.7.3. ndices condicionais
2.7.4. Chaves numricas compostas
2.7.5. Expresses de filtro com funes e variveis
2.8.
Comandos
2.8.1. APPEND FROM
2.8.2. COPY TO
2.8.3. USE
2.8.4. BEGIN, COMMIT, ROLLBACK TRANSACTION
Funes
2.9.1. TCCANOPEN
2.9.2. TCCONTYPE
2.9.3. TCDELFILE
2.9.4. TCGETDB
2.9.5. TCLINK
2.9.6. TCQUERY
2.9.7. TCQUIT
2.9.8. TCSETCONN
2.9.9. TCSETFIELD
2.9.10. TCSPEXEC
2.9.11. TCSPEXIST
2.9.12. TCSQLERROR
2.9.13. TCSQLEXEC
2.9.14. TCSRVTYPE
2.9.15. TCUNLINK
2.9.16. TCCHKOBJ*
2.9.17. TCEXEERROR*
2.9.18. TCPGMEXE*
2.9.19. TCSYSEXE*
( * )Funes apenas para o TOPConnect rodando em servidores AS/400.
2.10. Performance
2.10.1. Otimizando seu cdigo
2.10.2. Leitura Sequencial
2.10.3. O uso de filtros
2.10.4. Stored Procedures
2.11. Integrao com outros aplicativos
2.11.1. Incluindo registros nas tabelas do SigaAdvanced / AP5
2.11.2. Excluindo registros ( Sempre Marcar )
2.11.3. Vantagens e Desvantagens
3. Utilitrio importante
3.1.
Instalador de Stored Procedures no Banco de Dados
1.3.
1.3.1.
1.3.1.1.
Controle Transacional
Segurana e Backup
Depois que uma transao concluda com sucesso, no indica que a mesma
estar sendo transferida para a rea real dos dados. Este tramite de
transferncia chamado de CheckPoint , este ponto configuravl de acordo o
SGDB utilizado. Para bancos de dados de maior escala, o processo de check
point s realizado aps o Backup da rea de LOG.
O LOG tambm utilizado para fazer o backup de grande bancos de dados,
guardando somente as alteraes efetuados em um determinado intervalo de
1.4.
Entidade =
Atributos =
Pedido
Total do Pedido, Quantidade Total, etc.
1.5.
1.6.
1.6.2.
2. TopConnect
2.1.
Informaes gerais
O TOPConnect foi desenvolvido em linguagem C pela Microsiga e utilizado hoje
pelo SigaAdvanced / AP5 atravs da linguagem ADVPL (Advanced Protheus
Language). Ele tambm pode ser utilizado por aplicaes XBASE que queiram trocar a
base de dados de DBF para SQL.
Os gerenciadores de banco de dados hoje suportados so:
( MSSQL / MSSQL7 )
( ORACLE )
( DB2 )
( AS/400 )
( ANYWHERE / ANYSYB )
( SYBASE )
( INFORMIX )
2.2.
Campos numricos
- so armazenados em variveis do tipo FLOAT
Campos Lgicos
- so armazenados em variveis do tipo CHAR (0 ou 1)
Campos Data
- so armazenados em variveis do tipo CHAR com 8
bytes, no formato YYYYMMDD.
2
6
2
1
8
6
FIELD_TABLE
FIELD_NAME
FIELD_TYPE FIELD_PREC FIELD_DEC
------------------------------------------------------ -------------------------------- ------------------ ------------------ ---------------dbo.SA1010
A1_COMIS
P
5
2
dbo.SA1010
A1_DESC
P
2
0
dbo.SA1010
A1_LC
P
14
2
dbo.SA1010
A1_EMISSAO
D
8
0
dbo.SA1010
A1_MCOMPRA
P
17
2
dbo.SA1010
A1_METR
P
7
2
dbo.SA1010
@@HAS_DFT_VAL@@ X
0
0
...
Neste exemplo vocs percebero que na tabela TOP_FIELD s existe os campo
numricos, data e Lgico (no caso no existe nenhum usado pelo arquivo).
Alerta! : Se voc for utilizar diretamente o Banco de dados voc precisa estar ciente que
um campo numrico armazenado como um tipo float(MSSQL Server),
Number(Oracle), etc. Por exemplo o valor 40,40 no banco pode estar
armazenado como 40,39999999. Quando formos utilizar querys voc deve
utilizar a funo TCSETFIELD para resolver esta situao.(Veja funo
TCSETFIELD).
Importante tambm salientar que qualquer modificao efetuada em arquivo
SX3 diretamente, ou seja, sem utilizar o configurador, voc pode Ter problemas
com inconsistncia de estrutura da tabela do Banco de Dados e TOP_FIELD
contra o dicionrio de dados. Para resolver este problema voc dever remover
os dados da Tabela do Banco de dados, eliminar a tabela e deixa-la criar
novamente e depois importar os dados via APPEND(Utilize SDU/CFG-AP5), ou
2.3.
2.4.
Limite de registros
O limite de registros em uma tabela de 2,147,483,648 , este nmero
normalmente deve ser levado em considerao para as tabelas que
recebem muita insero de registro seguidas de muitas excluses fsica do
registro.
2.4.2.2.
2.4.3.
2.5.
2.5.2.
ndices
Os ndices so criados imediatamente aps a criao da estrutura das tabelas. Os
ndices criados partem do arquivo de ndices do SigaAdvanced / AP5, que o
arquivo SINDEX. Existe um ndice que criado apenas uma vez no momento em
que a tabela criada, este ndice tem como formao do nome = <nome da
tabela> + _RECNO , este ndice e sempre composto da coluna R_E_C_N_O_ e
no permite duplicidade.
Alerta!: Nunca remova os ndices das tabelas, principalmente o ndice RECNO
que no ser criado pelo TopConnect quando a tabela j existe. Se voc criou um
ndice pelo SINDEX e depois percebeu que montou errado ou precisa elimina-lo,
voc precisa elimin-lo do SINDEX e tambm do Banco de Dados.
2.5.3.
Defaults
So constraints de validao de campos que no so informados, nos comandos
de insero e alterao, ou seja, se voc no possui os defaults criados o Banco
de Dados estar deixando estes campos com valor nulo. Os defaults so criados
no momento da criao das tabelas.
Alerta!: Se voc fizer qualquer operao de transferncia via Banco de Dados que
no transfira os Defaults, e logo em seguida voc utilizar o sistema , estar
correndo risco de inserir nulos na Base de Dados. Se isto acontecer voc poder
Ter problemas com o TopConnect Server, ele poder travar ou derrubar conexes
com dados indevidos. A soluo neste caso utilizar o utilitrio DEFAULT que
esta disponvel no site da Microsiga.
2.5.4.
2.6.
2.7.
DBFNTX x TopConnect
2.7.1. ndices de produo
Todos os SGDB's utilizam o conceito de ndices de produo portando uma aplicao
que utilize o TOPConnect no necessita ter todos os ndices abertos para que os
mesmos sejam atualizados.
2.7.2.
2.7.3.
ndices condicionais
Nos gerenciadores de banco de dados no existe a figura dos ndices condicionais.
Para se obter resultados semelhantes aos ndices condicionais o TOPConnect
agregou nova funcionalidade ao filtro do SigaAdvanced / AP5.
Considere uma aplicao que crie o seguinte ndice:
INDEX ON CODIGO,NOME FOR ESTADO = "SP" AND SALDO > 10000
Com o TOPConnect este ndice seria o mesmo que:
SET FILTER TO ESTADO = "SP" .AND. SALDO > 10000 .AND.
ORDERBY(CODIGO,NOME)
dbSetOrder(0)
O TOPConnect permite o uso da funo OrderBy nos filtros o que reproduz o mesmo
efeito de um ndice filtrado.
O TOPConnect disponibiliza os dados na ordem solicitada pela clusula OrderBy na
Ordem 0 do arquivo, no interferindo assim com os ndices do arquivo.
2.7.5.
2.8.
Comandos
Neste captulo mencionaremos apenas os comandos da linguagem ADVPL que tem a sua
funcionalidade alterada ou complementada e os novos comandos implementados pelo
TOPConnect via RDD.
Para a utilizao destes comandos o programa dever conter a seguinte instruo:
#INCLUDE "TOPCONN.CH"
2.8.1.
APPEND FROM
Em uma aplicao ADVPL o comando APPEND FROM utilizado para se inserir
registros na Work Area corrente com registros vindos de outro arquivo DBF.
No TOPConnect o comando APPEND FROM importara registros de um arquivo
DBF para uma tabela do banco de dados.
No ADVPL opcionalmente poder ser especificado o parmetro VIA "TOPCONN" o
que far com que registros de uma tabela sejam inseridos na Work Area corrente.
Exemplo
SELECT CLIENTES
//Importa registros de um DBF
APPEND FROM c:\temp\newcli.dbf
Ou
SELECT CLIENTES
//Importa registros da tabela NEWCLI
APPEND FROM NEWCLI VIA "TOPCONN"
2.8.2.
COPY TO
Em uma aplicao ADVPL o comando COPY TO utilizado para se copiar a
estrutura e os registros da Work Area corrente para um arquivo DBF.
No TOPConnect o comando COPY TO utilizado para exportar a estrutura e os
registros de uma tabela do banco de dados para um arquivo DBF.
Assim como no comando APPEND FROM no ADVPL o parmetro opcional VIA
tambm pode ser especificado.
2.8.3.
USE
Abre uma tabela no banco de dados.
Sintaxe:
USE [<xcTable>
[INDEX <xcIndex list>]
[ALIAS <xcAlias>] [EXCLUSIVE | SHARED]
[NEW] [READONLY]
VIA "TOPCONN"
<cTable>
O nome da tabela a ser aberta.
INDEX <cIndex List> Especifica o nome de 1 a 15 ndices a serem abertos na
Work Area corrente.
ALIAS < cAlias>
Especifica um nome para a Work Area onde a tabela ser
aberta
EXCLUSIVE Especifica que apenas este usurio ter acesso a esta tabela.
Todas as outras tentativas de colocar esta mesma tabela em uso falharo.
SHARED
Especifica que a tabela ser aberta em modo compartilhado.
NEW Abre a tabela <cTable> na prxima Work Area disponvel. Se esta clausula
no for especificada, <xcTable> ser na Work Area corrente.
READONLY
Abre <cTable> apenas para leitura.
VIA "TOPCONN"
Este parmetro indica ao ADVPL que esta Work Area ser
gerenciada pelo TOPconnect.
Se nenhum parmetro for especificado a tabela aberta na Work Area corrente ser
fechada.
Exemplo
//Abre a tabela de Clientes em uma nova Work Area
USE clientes SHARED NEW VIA "TOPCONN"
2.8.4.
2.9.
Funes
2.9.1. TCCANOPEN
Verifica a existncia de tabelas e ndices no servidor.
Sintaxe
TCCanOpen(cTable [, cIndice]) =>lgico
Exemplo
//Testa a existncia da tabela customer
IF !TCCanOpen("CUSTOMER")
dbCreate("CUSTOMER", aStru, "TOPCONN")
ENDIF
USE CUSTOMER SHARED NEW VIA "TOPCONN"
//Testa a existncia do ndice
IF !TCCanOpen("CUSTOMER","CUSTCOD")
INDEX ON CODIGO TO CUSTCOD
ELSE
SET INDEX TO CUSTCOD
ENDIF
...
2.9.2.
TCCONTYPE
Especifica o protocolo de comunicao a ser utilizado pelo TOPConnect.
Sintaxe
TCConType(<cType>)
Onde <cType> pode ser:
TCPIP Utiliza o protocolo TCP/IP.
NPIPE Utiliza o protocolo Named Pipes.
APPC Utiliza o protocolo APPC.
BRIDGE
Utiliza o utilitrio TOPBrigde para comunicao de estaes DOS
NPIPE com servidor AS/400 utilizando TCP/IP.
Exemplo
#INCLUDE "TOPCONN.CH"
//Especifica conexo TCP/IP
TCConType("TCPIP")
//Conecta-se ao ambiente SIGAADV no Microsoft SQL-Server
TCLink("MSSQL/SIGAADV")
2.9.3.
TCDELFILE
Exclui uma tabela no servidor.
Sintaxe
TCDelFile(<cTable>)
Onde <cTable> o nome da tabela a ser excluda.
Exemplo
TCDelFile("CUSTOMER")
TCGETDB
Retorna o Tipo de Banco de Dados corrente
cDataBase := TCGETDB()
Onde os valores de retorno so :
MSSQL
MSSQL7
ORACLE
DB2
SYBASE
ANYWHERE
ANYSYBASE
INFORMIX
2.9.5.
TCLINK
Abre uma conexo com o Servidor TOPConnect.
Sintaxe
nCon := TCLink(<cConectString>,<cServer>)
Onde o parmetro <cConnectString> composto por:
Para TOPConnect NT : Nome do Banco de Dados / Nome do Ambiente
Para TOPConnect/400: Nome do Ambiente
O parmetro <cServer> contm:
Para conexes NamedPipe, APPC e Brigde : O nome do servidor TOPConnect
Para conexes TCP/IP : O endereo IP do servidor TOPConnect
Para o TOPConnect NT acessando Oracle, um ambiente o nome do Alias criado
com o utilitrio SQL-Net.
Para o TOPConnect NT acessando os demais SGDB's um ambiente um System
DSN criado atravs do ODBC Data Source Administrator.
Para o TOPConnect AS/400 um ambiente uma Library criada atravs do
comando CRTTOPENV do TOPConnect.
Para informaes sobre a criao de ambientes consulte o manual de instalao
do TOPConnect.
Esta a lista de Bancos de Dados hoje suportados e seus respectivos nomes
compor a string de conexo com o TOPConnect NT:
Microsoft SQL-Server 6.5
Microsoft SQL-Server 7.0
Oracle
IBM Universal Database
Sybase SQL-Server
Sybase SQL Anywhere
Sybase SQL Anywhere
MSSQL
MSSQL7
ORACLE
DB2
SYBASE
ANYWHERE
2.9.6.
TCQUERY
Executa uma Query no servidor e coloca seu retorno em uma WorkArea.
Sintaxe:
TCQUERY [<cSQLExpr>
[ALIAS <xcAlias>]
[NEW]
VIA "TOPCONN"
<cSQLExpr> Expresso SQL a ser enviada ao servidor.
ALIAS < cAlias>
Especifica um nome para a Work Area a ser aberta
NEW Abre a tabela <cTable> na prxima Work Area disponvel. Se esta clausula
no for especificada, <xcTable> ser na Work Area corrente.
VIA "TOPCONN"
Este parmetro indica ao ADVPL que esta Work Area ser
gerenciada pelo TOPconnect.
A Work Area criada com o comando TCQUERY READ-ONLY, portanto no
permitido o uso de APPEND's ou REPLACE's.
O TOPConnect tem apenas um cursor para a Query executada portando apenas
os seguintes comandos so suportados em uma Work Area criada com TCQUERY:
GO TOP - DbGoTop()
GO BOTTOM - DbGoBottom()
SKIP - DbSkip()
Eof()
Bof()
Obs: Ao executar uma Query que retorne um ou mais valores calculados, o nome
dos campos da WorkArea sero COLUMN1, COLUMN2... COLUMNn.
Exemplo
//Abre a tabela de Clientes em uma nova Work Area
cQuery := "SELECT a.codigo, b.nome FROM CLIENTES a, CLIDATA b ; WHERE
a.CODIGO = b.CODIGO ORDER BY CODIGO,NOME"
TCQUERY cQuery ALIAS CLIENTES NEW VIA "TOPCONN"
dbGoTop()
While !Eof()
? CODIGO,NOME
dbSkip()
end
USE
cQuery := 'SELECT SUM(VALOR),SUM(SALDO) FROM CUSTOMER'
TCQUERY cQuery NEW VIA "TOPCONN"
?COLUMN1 //Somatoria dos valores
?COLUMN2 //Somatoria dos saldos
2.9.7.
TCQUIT
Encerra todas as conexes com o TOPConnect
Sintaxe
TCQuit()
2.9.8.
TCSETCONN
Seleciona conexo ativa.
Sintaxe
TCSETCONN(<nConn>)
Onde <nConn> o nmero da conexo.
Exemplo
// Abre conexo com o ambiente de Produo
nCon1 := TCLink("MSSQL/PRODUCAO")
if nCon1 < 0
Alert("Falha conectando ambiente de Produo")
QUIT
endif
// Abre conexo com o ambiente de Testes
nCon2 := TCLink("MSSQL/TESTES")
if nCon2 < 0 then
Alert("falha conectando ambiente de Testes")
QUIT
endif
TCSetConn(nCon1)
//Abre tabela de Clientes no ambiente de produo
USE CUSTOMER ALIAS PROD SHARED NEW VIA "TOPCONN"
TCSetConn(nCon2)
//Abre tabela de Clientes no ambiente de testes
USE CUSTOMER ALIAS TEST SHARED NEW VIA "TOPCONN"
...
2.9.9.
TCSETFIELD
Esta funo serve como apoio ao comando TCQUERY, na recuperao de campos
tipo NUMERIC, DATE e LOGICAL, pois os mesmos so gravados fisicamente no
Banco de Dados como caracteres, e no caso dos numricos como float.
Sintaxe
TCSetField(<cAlias>, <cField> ,<cType>, [<Prec.Inteira>,<Prec.Decimal>] )
Onde <cAlias> o alias da WorkArea, <cField> o nome do campo e <cType> o
tipo desejado para o campo.
Exemplo
2.9.11. TCSPEXIST
Verifica a existncia de uma determinada Stored Procedure no servidor.
Sintaxe
<lExist> := TCSPExist(<cSPName>)
Onde <lExist> indica se a Stored Procedure existe ou no e <cSPName> o nome
da Stored Procedure procurada.
Exemplo
If SPExist("CALCCUSTO")
TCSPExec("CALCCUSTO")
Endif
2.9.12. TCSQLERROR
Retorna o ltimo erro registrado pelo TOPConnect durante a execuo de uma
Query.
Sintaxe
<cError> := TCSQLError()
Onde <cError> a mensagem de erro.
Exemplo
If TCSQLExec("UPDATE CUSTOMER SET VALUE=0") < 0 then
?TCSQLError()
Endif
OBS: Esta a mesma mensagem que esta registrada no log de eventos do
TopConnect Manager.
2.9.13. TCSQLEXEC
Executa comandos SQL no servidor.
Sintaxe
<nRet> := TCSQLExec(<cCommand>)
Onde <nRet> retorna um valor negativo em caso de erros e <cCommand> e o
comando SQL a ser executado.
Exemplo
TCSQLExec("UPDATE CUSTOMER SET VALUE=0)
2.9.14. TCSRVTYPE
Retorna o Tipo do Servidor onde esta sendo executado o TOPConnect.
Sintaxe
<cType> := TCSrvType()
Onde <cType> o tipo do servidor podendo Ter seu contedo igual a "WinNT" ou
"AS/400".
Exemplo
TCLink("MSSQL/TESTE","TOPSRV")
?TCSrvtype()
2.9.15. TCUNLINK
Encerra uma conexo com o TOPConnect.
Sintaxe
TCUnlink(<nConn>)
Onde <nConn> o nmero da conexo retornado pela funo TCLink()
Exemplo
TCConType("NPIPE")
nConn := TCLink("MSSQL/TOPCONN","TOPSRV")
TCUnLink(nConn)
2.9.16. TCCHKOBJ*
Verifica a existncia de um objeto no servidor AS/400
Sintaxe
<nError> := TCChkObj(<cObj>,<cLibrary>,<cType>)
Onde:
<nError> 0 quando o objeto existe ou o nmero do erro no AS/400.
<cLibrary> o nome da biblioteca que deve conter o objeto.
<cType> o tipo de objeto AS/400. Ex: *FILE, *PGM, etc.
Exemplo
nError := TCChkObj("CALCCUST","PRODUCAO","*PGM")
ESTA FUNO SE APLICA APENAS PARA O TOPCONNECT AS/400
( * )Funes apenas para o TOPConnect rodando em servidores AS/400.
2.9.17. TCEXEERROR*
Retorna uma string com a mensagem de erro retornada pela execuo das
funes TCPGMEXE() e TCSYSEXE().
Sintaxe
<cError> := TCExeError()
Onde <cError> a string com a mensagem de erro.
Exemplo
?TCExeError()
( * )Funes apenas para o TOPConnect rodando em servidores AS/400.
2.9.18. TCPGMEXE*
Executa um programa no servidor AS/400
TCPGMEXE( program name )
( * )Funes apenas para o TOPConnect rodando em servidores AS/400.
2.9.19. TCSYSEXE*
cCommand := "CRTCBLMOD MODULE("+cTDataBase+"/"+
cName+"F"+cCrrEmp+") "
cCommand += "SRCFILE("+cTDataBase+"/QSPSRC) "
cCommand += "SRCMBR("+cName+"F"+cCrrEmp+") "
cCommand += "REPLACE(*YES)"
TCSysExe( cCommand )
( * )Funes apenas para o TOPConnect rodando em servidores AS/400.
2.10. Performance
2.10.1. Otimizando seu cdigo
A linguagem ADVPL tem um enfoque posicional, recuperando os dados utilizando
orientao a registros, enquanto aos Bancos de Dados SQL recuperam os dados
por blocos de dados.
Devido a esta diferena conceitual, vrios pontos devem ser levados em
considerao para que se possa obter uma boa performance e utilizar os recursos
de uma aplicao Client/Server.
2.10.2. Leitura Sequencial
Operaes de leitura seqencial de uma tabela podem levar a problemas de
performance.
Vamos analisar o seguinte cdigo:
dbSelectArea("CLIENTES")
nValor := 0
Do While !Eof()
If ESTADO = "SP"
nValor += SALDO
Endif
DbSkip()
End
O cdigo acima far com que todas as linhas(registros) da tabela venham para o
Client, o que ir gerar um nmero de Queries no servidor igual ao nmero de linhas
da tabela e cada uma delas ir recuperar apenas uma linha, subtilizando a
capacidade de processamento do servidor.
O cdigo acima poderia ser substitudo por:
TCQUERY "SELECT SUM(SALDO) ;
FROM CLIENTES ;
WHERE ESTADO = 'SP'" NEW
nValor := COLUMN1
Com a utilizao do comando TCQUERY todo a somatria feita no servidor
retornando assim para a aplicao apenas uma linha com o resultado desejado.
3. Ferramenta importante
3.1.
Instalador de Stored Procedures no Banco de Dados
Alguns clientes utilizam rotinas como Stored Procedures para agilizar alguns processos
crticos do sistema, para instalao destas Storeds Procedures voc devem possuir o
arquivo com o nome de SIGAXXX.SPS, onde o XXX o tipo de Banco de Dados que o
Cliente estar utilizando ex: SIGASQ7 (MSSQL 7.0), SIGAIFX (INFORMIX), SIGAORA
(ORACLE)
Aps a confirmao desta operao todas as Procedures que estiverem disponveis neste
arquivo sero compiladas para a empresa em questo, se o cliente tiver mais do que uma
empresa e ele deseja instalar as procedures em todas as empresas ele precisa entrar
em cada empresa.
Se houver qualquer problema na instalao das Stores Procedures
ser gerado um arquivo de log chamado SPBuild.LOG no diretrio
\SIGAADV\. E tambm ser apresentado o erro no Log do TopConnect.