Ricardo
Num ambiente de testes, mais controlado, você pode monitorar o que as
sessões estão fazendo.
Se o BODS abre mais de uma sessão... e o que ele está enviando realmente
para o Oracle (SQL e blocos PL/SQL).
Pode usar a v$session ou gv$session e traces de sessão.
Já consegui descobrir e
Ricardo,
Você não disse qual objeto está sendo bloqueado? A tabela, a package ou o
arquivo gerado?
Quando você le os CLOB's, está armazenado eles em uma variável global da
package?
Os objetos LOB quando lidos de tabelas, são um localizador para os dados na
tabela, e isso pode causar
Bem, "o Oracle retornar o controle" nã faz muito sentido não : o Oracle
ABSOLUTAMENTE DESCONHECE seja o que for da ferramenta, pra ele o coiso aí é
simplesmente um client a mais - com ** CERTEZA ** não há um IF cliente = BODS
then façaalgumacoisa, okdoc ???
O que vc pode fazer é descobrir (com
Grande Chiappa,
Infelizmente tenho que disparar a procedure através dessa coisars.
Segundo algumas pessoas que consultei, isto está acontecendo porque esse
negócio não consegue "saber" que a procedure já acabou a sua execução...
Uma idéia seria fazer o Oracle retornar o controle para o BODS
Colega, se realmente usando o client Oracle (que é o que o PL/SQL developer
usa, afaik) corretamente NENHUM LOCK/bloqueio de acesso acontece MAS com o tal
BODS acontece, tá TOTALMENTE ÓBVIO que é esse coiso aí que tá causando
bloqueio, NADA A VER COM O BANCO ORACLE...
Assim, só o Suporte
Eduardo,
Voce precisa verificar se o diretório onde está o arquivo a ser lido
está 'credenciado'.
Verificar com o select, os diretorios válidos (separados por virgula):
select value
from v$parameter
where upper(name) like '%UTL%FILE%'
Coloque o seu arquivo num desses diretórios.
Segue script
Bem, como ele diz :
Tentei executar com um arquivo de tamanho de registro menor é processa
normalmente
imagino que não seja o caso de permissões, se o fosse arquivos de QUALQUER
tamanho dariam o erro - pela descrição lá que o colega dá, parece ser mesmo
questão do tamanho de registro
: [oracle_br] Re: UTL_FILE
hmm , não sei se ficou claro, deixe-me tentar exemplificar :
= primeiro crio um teste o mais mínimo possível :
sys...@o10gr2:SQLcreate or replace procedure TEST_UTL(p_location
varchar2)
is
l_output utl_file.file_type;
begin
l_output := utl_file.fopen( p_location
Ok, obrigado pela explicação, vou testar.
Obrigado Chiappa.
Carlos
De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de José Laurindo
Enviada: sexta-feira, 8 de Janeiro de 2010 20:24
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re
Carlos, vc ** leu ** e ** entendeu ** no manual de Referência que pra FOPEN vc
** ou ** tem uma string diretamente, entre aspas simples, com o path completo (
e nesse caso essa string *** TEM *** que corersponder a uma das presentes no
param utl_file_dir do banco), ** OU ** vc passa o nome de
hmm , não sei se ficou claro, deixe-me tentar exemplificar :
= primeiro crio um teste o mais mínimo possível :
sys...@o10gr2:SQLcreate or replace procedure TEST_UTL(p_location varchar2) is
l_outpututl_file.file_type;
begin
l_output := utl_file.fopen( p_location, 'foo.txt',
Não entendi a sua dificuldade, o que tem a ver Replicação com geração de
arquivo-texto via UTL_FILE, desconheço qual o impedimento da replicação em
relação ao utl_file
Para a questão de 'deixar o diretório fixo' , desde a versão 9i do banco vc
já pode, ao invés de especificar o diretório
O Meu erro estava na abertura do arquivo
ARQ_TXT := UTL_FILE.FOPEN(C:\,'TESTE.TXT','W',4000);
--- Em oracle_br@yahoogrupos.com.br, am_balielo alessan...@...
escreveu
BOM DIA
Estou gerando um arquivo texto, mais qdo chega mais ou menos na
coluna 1015 ele não consegue gerar mais coluna.
:[EMAIL PROTECTED] Em
nome de Alexsandro Haag
Enviada em: segunda-feira, 26 de maio de 2008 09:12
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: UTL_FILE - UTL_FILE.PUT_LINE
Olá Wagner,
usei poucas vezes utl_file, mas até onde me lembro não consigo
apontar diretamente
Colega, excusas desnecessárias aqui, se realmente vc captou a
mensagem e corrigiu onde estava errando (pelo trecho de programa
apresentado, parece que sim), ok, é o nosso objetivo, mostrar o
correto. No caso, em a sintaxe estando correta (como parece estar),
novamente repito, só pode ser
Eu já tinha dito em outra msg, repito : está errado não faz sentido o
que vc fez, se vc criou o diretório USE o diretório no open, E o
retorno do fopen TEM que ser pra uma variável, nunca pro diretório,
ok ?? Seria :
create directory dir_saida as '/ora01/oracle/tmp';
e depois :
DECLARE
Jlchippa!!! Valeu pela diga, mas meu camarda, desculpe pela minha existência,
verifique por favor se o mesmo esta errado, pois estou tomando como Operação
invalida no arquivo. Segue o meu código:
CREATE OR REPLACE PROCEDURE p_geracsv as
BEGIN
DECLARE
v_arq_ret UTL_FILE.file_type;
É bem simples, conectado como dba vc consulta o parâmetro
correspondente do banco (eu vou fazer aqui pelo sqlplus via comando
show parameter, mas poderia ser uma consula às v$ de parãmetros,
também) :
chiappa:SQLshow parameters spfile
NAME TYPEVALUE
Use o comando como sys
Alter system set utl_file_dir = diretorios scope=spfile
Depois reinicie o banco de dados
- Original Message -
From: junior veiga
To: oracle_br@yahoogrupos.com.br
Sent: Tuesday, March 21, 2006 9:27 AM
Subject: Re: [oracle_br] Re: UTL_FILE
É o que esta
Basta dar um, shutdown...
create spfile from pfile; ou
create spfile from pfile=caminho;
despois sobe novamente
On 3/21/06, junior veiga [EMAIL PROTECTED] wrote:
É o que esta acontencendo realmente, alterei o INIT e
restartei o banco, mas o parametro utl_file_dir nao
foi atualizado, acho
Obrigado a todos
--- jlchiappa [EMAIL PROTECTED] escreveu:
É bem simples, conectado como dba vc consulta o
parâmetro
correspondente do banco (eu vou fazer aqui pelo
sqlplus via comando
show parameter, mas poderia ser uma consula às v$ de
parãmetros,
também) :
chiappa:SQLshow
Pessoal, vamos colocar os pingos nos Is, aí : o PL/SQL é uma
linguagem de back-end, que roda NO SERVIDOR APENAS, é absolutamente
documentado que por si só ela é capaz de manipular apenas itens
acessíveis AO SERVIDOR, ponto. Assim sendo, SE vc quiser fazer I/O em
PL/SQL num local fora do
Complementando a resposta, voce pode usar o smb também para criar arquivos no
seu client.
No exemplo que fiz: do linux vou mountar um diretório através do samba client
(SMB) mapeando um diretório compartilhado
e gerar um arquivo vazio no meu Windows XP (que poderia ser o client da
aplicação).
Gostaria de passar o caminho da máquina do cliente e o UTL_FILE
escrever direto no caminho indicado.
rflribeiro
msn: [EMAIL PROTECTED]
Marcio Portes wrote:
Complementando a resposta, voce pode usar o smb também para criar arquivos no
seu client.
No exemplo que fiz: do linux vou mountar
É verdade, quando eu citei NFS na verdade pode-se incluir também
softs que fazem o network file system via protocolo próprio, como o
Samba (protocolo SMB), ou protocolo CIFS full (a HP e a IBM tem
alguns softwares que implementam, como o client CFIS HP em
É o que eu respondi, o UTL_FILE é PL/SQL, e PL/SQL *** não é capaz
*** de acessar um diretório/filesystem externo diretamente, PONTO.
NÃO FUNCIONA assim, é isso. Vc TEM QUE ter um mapeamento (que vc até
poderia acessar via UFS, com \\servidor\nomedomap, como mostrado no
link q te passei), ou
26 matches
Mail list logo