UTL_FILE_DIR

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Alessandro
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 23
Registrado em: Seg, 05 Jul 2004 4:29 pm

BOA TARDE

TENHO O BANCO INSTALADO EM UMA MÁQUINA COM WINDOWS 2003 COM O BANCO DE
DADOS ORACLE 10G
OUTRA MÁQUINA COM O FORMS 9I COM WINDOWS 2003.

Selecionar tudo

SELECT SUBSTR(NAME,1,20) "Parametro",SUBSTR(VALUE,1,20) "Valor"
FROM V$PARAMETER
WHERE NAME='utl_file_dir';
O VALOR HOJE É *

PRECISO QUE O BANCO DE DADOS POSSA GERAR UM ARQUIVO TEXTO NESTE SERVIDOR DO
FORMS.
TENHO UMA PASTA COMPARTILHADA NO SERVIDOR DO FORMS C:\ORCTXT.

NO SERVIDOR DO BANCO ESTA PASTA COMPARTILHADA ESTA COMO S:\

MUDO O UTL_FILE_DIR COMO O SEGUINTE COMANDO

Selecionar tudo

ALTER SYSTEM SET utl_file_dir='*;S:\*' SCOPE=SPFILE;
ESTE COMANDO ESTA CERTO ?

COMO FAÇO P/ O BANCO GERAR UM ARQUIVO EM UMA PASTA EM OUTRO SERVIDOR
ATRAVÉS DE MAPEAMENTO.

DESDE JÁ MUITO OBRIGADO.
ALESSANDRO
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Alessandro,

O valor de seu UTL_FILE_DIR (*) lhe permite gravar ou ler em qualquer diretório do servidor de banco de dados. Eu até diria que esta não é uma configuração recomendada, pois você poderia - teoricamente - sobrepor qualquer arquivo do seu sistema operacional windows.

Se o diretório do FORMS já se encontra mapeado em seu servidor de banco de dados, creio que você poderia fazer uma tentativa para gerar o arquivo via UTL_FILE_DIR.

Mas certifique-se que seu diretório mapeado/compartilhado dispõe das permissões necessárias para o usuario WINDOWS do servidor de BANCO poder ler,criar,alterar ou excluir arquivos na pasta do FORMS.

Acho que a sintaxe correta do comando seria a descrita abaixo:

Selecionar tudo

ALTER SYSTEM SET UTL_FILE_DIR='directory1','directory2' scope=spfile; 
Sobre o acesso a diretórios compartilhados, encontrei no ASKTOM uma referência à nota METALINK [ID 45172.1] que diz o seguinte:

Selecionar tudo

For this to work ensure that the account that started the Oracle instance
has a mapped network drive connected using a fully qualified username/password
with the same drive letter and path as is specified by UTL_FILE_DIR.
Ou seja, o diretório compartilhado deve se encontrar já mapeado ANTES da inicialização da instância. Se você mapeou o diretório do FORMS com a instância já inicializada, você deve mapear o diretório novamente e reiniciar a instância de banco de dados, executando depois o comando ALTER SYSTEM. Certifique-se que o usuário WINDOWS que iniciou a instância de banco consegue fazer todas as operações necessárias no diretório compartilhado "S:" (criar,deletar,atualizar,etc).

Abraços,

Sergio Coutinho
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 17 visitantes