Pessoal:

Peco licenca para alongar-me um pouco, para poder
descrever meu problema:

a) Tenho alguns programas desenvolvidos ha´ anos,
que acessam o SQL-Server atraves
do BDE 5.202 (tenho planos de abandonar o BDE definitivamente
o BDE, mas como e´ um sistema que esta´ rodando ha´ anos, preciso conviver
com ele por um tempo, especialmente porque ha´ mais de um cliente que
utiliza esse sistema).

b) Os usuarios querem migrar do SQL-Server para o Oracle (exigencia
da matriz da empresa), e por isso preciso fazer esse programa
com BDE acessar o Oracle.  Ja´ sei como importar os dados, e
identifiquei quais os tipos de campos equivalentes do Oracle, que
funcionam de modo similar ao SQL-Server (o programa Delphi/BDE
interpreta os campos do Oracle exatamente como os do SQL-Server,
de forma que nao terei de mudar nada no codigo-fonte do programa).

c) Porem, para os campos tipo TEXT que uso no SQL-Server (que o Delphi/BDE 
interpretam como
campos MEMO),  nao encontrei um tipo equivalente no Oracle.

Ja´ tentamos os seguintes campos do Oracle, para ver se funcionam de modo 
similar aos
campos TEXT:

- Tipo LONG - semelhante ao tipo Text do SQL-Server, sem limitação de 
tamanho. Porém só pode existir um único
campo na tabela com esse tipo, e no sistema ha´ 17 tabelas com mais de um 
campo de observação (TEXT);

- Tipo CLOB - semelhante ao tipo Text, sem limitação, sem limitação de 
número de campos na tabela, porém não é reconhecido pelo BDE
(ocorre um erro ao tentar acessar a tabela pelo BDE - esqueci a mensagem 
agora)

- Tipo VARCHAR2(n) -  onde n e´ o numero maximo de caracteres;  com esse 
tipo, eu teria de predefinir o tamanho maximo, e para isso
teria de examinar registro a registro todos os campos TEXT que atualmente 
existem no BD, e "chutar"  esse numero maximo, de acordo
com os registros atuais.

Enfim, alguem tem alguma dica sobre campos memo do SQL-Server e seu 
equivalente  mais proximo no Oracle ?

Muito obrigado pela atencao de todos, e desculpem pela longa mensagem

Paulo 

Responder a