Pergunta

Alguém tem uma declaração PL-SQL que eu posso usar para gerar banco de dados e tabelas do esquema do banco de dados específico sobre Oracle 10g? Eu preciso o esquema no ficheiro.sql e, se possível, compatível com a implementação ANSI-92/99 sql, para que eu possa usar o gerado .sql diretamente no sql server 2005.

Já ouviu falar de exp / imp, mas parece gerado arquivo de despejo, o que eu preciso apenas um simples ddl em ficheiro.sql.

Graças

Foi útil?

Solução

Eu escrevi oraddlscript que chama dbms_metadata.get_ddl (Pop de resposta) para cada objeto de banco de dados de propriedade de um usuário e escreve o DDL para um arquivo.

Update: comentário respondidas

Outras dicas

Você pode tentar:

select dbms_metadata.get_ddl('TABLE',table_name,owner)
from dba_tables where owner='schema name';

Ele retorna anseia, assim você pode querer jogar com a longa buffer.

Mais sobre dbms_metadata aqui: http: // download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_metada.htm

Se você só precisa despejar o seu esquema, este pacote livre faz um trabalho muito bom. Vamos utilizá-lo na produção diária.

http://sourceforge.net/projects/cx-oracletools

Se você precisa converter do Oracle para o SQL Server, este software pode fazer um trabalho melhor. Nós usamos isso para converter entre a Oracle, MySQL e Postgreqsql.

http://www.spectralcore.com/fullconvert

Saudações, eu recomendo usar Oracle SQL Developer Data Modeler , já que é a partir do Oracle, pode ler as informações DDL diretamente do Dicionário de dados. Ele cria um ERD e, em seguida, você pode produzir DDL para o SQL Server 2000/2005, algumas versões do DB2 e Oracle 9i / 10g / 11g.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top