Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Oracle > ORA-00955: name is already used by an existing object
-Foros de debate

Oracle
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

ORA-00955: name is already used by an existing object
Enviado por RAQUEL el día 31 de agosto de 2005

Estoy creando desde visual una tabla de oracle y me da el siguiente error, sabeis porque???
Public OraSession As Object
Public OraDatabase As Object
Public OraDynaset As Object

Set OraSession = CreateObject("Oracleinprocserver.XOraSession")
Set OraDatabase = OraSession.DbOpenDatabase("PRUEBA.WORD", "prueba/PRUEBA", CInt(0))
Set OraDynaset = OraDatabase.DbCreateDynaset("CREATE TABLE pp (prueba varchar2 (7) NOT NULL)", CInt(0))
OraDynaset.Close
Set OraDynaset = Nothing 'libero memoria

 
Re: ORA-00955: name is already used by an existing object
Enviado por Rodolfo Reyes el día 31 de agosto de 2005

Te esta indicando que el nombre que estas tratando de ponerle a tu tabla ya esta siendo utilizado por algun objeto, este objeto puede ser una tabla, procedimiento, funcion, vista, etc.

 
Re: Re: ORA-00955: name is already used by an existing object
Enviado por raquel el día 1 de septiembre de 2005

No puede ser puesto que cambio el nombre de la tabla y siempre me pone lo mismo.

 
Re: Re: Re: ORA-00955: name is already used by an existing object
Enviado por Jor-El el día 1 de septiembre de 2005

A ver Raquelita.

Debes hacer caso a la gente que sabe y que se molesta en poner respuestas a tus problemas.

Si te hubieras molestado en llamar a San Google verías algo como esto :

Error: ORA-00955: name is already used by an existing object
Cause: You tried to create a table <../../sql/tables/index.php>, view <../../sql/views.php>, index, synonym <../synonyms.php> or other object with a name that is already in use.
Action: The options to resolve this Oracle error are:
Rename your object that you are trying to create so that it is unique.
Drop the existing object and create the new object.
For a listing of objects with a particular name, you can run the following query:
SELECT *
FROM all_objects
WHERE object_name = 'NAME';
For example, if you wanted to find the objects whose name is SUPPLIERS, you could run the following SQL:
SELECT *
FROM all_objects
WHERE object_name = 'SUPPLIERS';
Please note that object_name's are stored in the all_objects <../sys_tables/index.php> table in uppercase.


Obviamente como sigues sin creertelo, en la linea antes del CREATE TABLE PATATIN pon otra con este codigo : DROP TABLE PATATIN CASCADE CONSTRAINTS

 
Re: Re: Re: Re: ORA-00955: name is already used by an existing object
Enviado por raquel el día 1 de septiembre de 2005

Que no es que no me lo crea en serio, es que lo pruebo y no me funciona, yo he encontre mucho sobre consultas pero no sobre creación, no tengo ni idea de oracle con visual y esta instrucción con una select funciona pero con create no, tb vi que necesitaba el create pero por algun motivo no me deja poner dos intrucciones a la vez y si las pongo por separado, así
Set OraDynaset1 = OraDatabase.DbCreateDynaset("DROP TABLE JJ CASCADE CONSTRAINTS", CInt(0)) y luego
Set OraDynaset1 = OraDatabase.DbCreateDynaset("CREATE TABLE JJ (prueba varchar2 (7) NOT NULL)", CInt(0))
Justo cuando esta en la línea de borrar me pone table or view does not exist.
No se si en visual puedes juntar varias sentencias sql pero si pongo ; me da error

Como ves no tengo apenas idea, yo he trabajado con access siempre.
De todas maneras muchísimas gracias.

 
Re: Re: Re: Re: Re: ORA-00955: name is already used by an existing object
Enviado por CHEMIAN el día 1 de septiembre de 2005

pero antes de borrarla te permite hacer select sobre ella?? Te aparece en el catalogo??

 
Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an existing object
Enviado por raquel el día 1 de septiembre de 2005

No puedo hacer una select de una tabla que no exite y tampoco borrarla, yo creo que si que hay que poner el drop.... pero seguido de la sentencia de create y ahí es donde está el problema que no puedo juntar las dos sentencias....
Si pongo la linea de Drop.... no me la crea ni aparece en el catalogo que lo entiendo porque no exite.
Y si la quito me da el error original pero me la crea.
No se, no se me ocurre na.. estoy buscando ejemplos pero es que no veo nada.
Muchas gracias

 
Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an existing object
Enviado por chemian el día 1 de septiembre de 2005

as mirado en la tabla all_objects si existe algo con ese nombre??

 
Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an existing object
Enviado por RAQUEL el día 1 de septiembre de 2005

No se a que te refieres, pero he hecho
SELECT * FROM TABS; y no aparecen ninguna de mis tablas.

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an existing object
Enviado por CHEMIAN el día 1 de septiembre de 2005

Es una tabla que te informa de todos los objetos del sistema.
la select que te digo seria la siguiente

SELECT * FROM ALL_OBJECTS WHERE UPPER(OBJECT_NAME)='JJ';

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an existing obj
Enviado por RAQUEL el día 1 de septiembre de 2005

Te estoy aburriendo, ya lo siento.

He puesto ese comando y no me aparece. luego lo he hecho sin el where y tc salian mis tablas.

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an existing
Enviado por CHEMIAN el día 1 de septiembre de 2005

vamos a ver,
si el problema, segun creo, es que cuando intentas hacer el drop, te da error y te echa, y tu tienes que poner el drop obligatoriamente, porque no haces primero una select sobre all_tables (o alguna vista parecida) comprobando que JJ este y si no esta, te ahorras el drop y pasas directamente a la creacion.

No se si esto te funcionara. O lo mismo es que no estoy entendiendo bien el problema.

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an exis
Enviado por raquel el día 1 de septiembre de 2005

Te explico si es muy sencillo, lo único que creo que lo he complicado mucho. Estoy haciendo un programa en visual que lo primero que debe de hacer es crear una tabla en oracle con unos campos. Pues me falla y solo he puesto estas 6 líneas
1.- Public OraSession As Object
2.- Public OraDatabase As Object
3.- Public OraDynaset As Object
4.- Set OraSession = CreateObject(\"Oracleinprocserver.XOraSession\")
5.-Set OraDatabase = OraSession.DbOpenDatabase(\"PRU.WORD\", \"PRUEBA/PRUEBA\", CInt(0))
6.-Set OraDynaset1 = OraDatabase.DbCreateDynaset(\"CREATE TABLE PRUEBA1 (prueba varchar2 (7) NOT NULL)\", CInt(0))
y justo al llegar a la instrucción 6.- La de creación de la tabla me da el error, pero me la crea.
Seguro que me falta algo pero no tengo ni idea de que, y eso que solo son 6 líneas.
Por cierto, muchas gracias por tu paciencia.

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by an
Enviado por CHEMIAN el día 1 de septiembre de 2005

PRUEBA CON ESTO, AUNQUE IGUAL TE DIGO UNA BURRADA, YO SOY DBA Y PROGRAMABA CON VISUAL HACE 4 O 5 AÑOS. IGUAL NO TE LO DIGO BIEN:

1.- DIMOraSession
2.- DIM OraDatabase
3.- DIM OraDynaset
4.- Set OraSession = CreateObject("Oracleinprocserver.XOraSession")
5.-Set OraDatabase = OraSession.OpenDatabase("PRU.WORD", "PRUEBA/PRUEBA", CInt(0))
6.-Set OraDynaset = OraDatabase.DbCreateDynaset("CREATE TABLE PRUEBA1 (prueba varchar2 (7) NOT NULL)", CInt(0))

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already used by
Enviado por raquel el día 1 de septiembre de 2005

Lo mismo. sale exactamente igual. Esto quiere acabar conmigo y a este paso contigo.. muchas gracias.

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already use
Enviado por chemian el día 2 de septiembre de 2005

PUES YA LO SIENTO PERO NO SE ME OCURRE NADA.
ESPERO QUE TENGAS SUERTE.

 

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already use
Enviado por Carlos el día 2 de septiembre de 2005

Hace mucho que no trabajo con VB, pero ¿Estáis seguros que se puede ejecutar un DDL con un dynaset?

Yo utilizaría ADO. Algo así:

Una vez instanciada la ADODB.Connection, instanciaría un
ADODB.Command para ella con el texto DDL: 'CREATE TABLE...'. Finalmente invocaría a su método execute.

Esto es sólo una idea. Hace mucho tiempo que no trabajo con VB (y con MicroSoft en general).

Espero que os sirva.

Un saludo.

Carlos.

 
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ORA-00955: name is already
Enviado por chemian el día 2 de septiembre de 2005

pues la verdad es que me da que tiene razon carlos

 



ORA-00955: name is already used by
Enviado por ferjai el día 5 de septiembre de 2005

Con DbCreateDynaset NO puedes ejecutar sentencias DDL.

Prueba lo siguiente.

1.- DIM OraSession
2.- DIM OraDatabase
3.- DIM OraDynaset
4.- Set OraSession = CreateObject(\"Oracleinprocserver.XOraSession\")
5.-Set OraDatabase = OraSession.OpenDatabase(\"PRU.WORD\", \"PRUEBA/PRUEBA\", CInt(0))
6.-OraDatabase.ExecuteSQL (\"CREATE TABLE PRUEBA1 (prueba varchar2 (7) NOT NULL)\")

 
Re: ORA-00955: name is already used by
Enviado por Nelson el día 10 de diciembre de 2007


Bueno la verdad no se si esta dada la respuesta a este error
por cada tabla que creas se crea un objeto asociado al usuario
para poder empezar de nuevo solo debes hacer drop sobre la tabla creada en el usuario accedido y listo, puedes volver a manejar tu código y ejecutar nuevamente la aplicación que obviamente creara otro objeto del tipo tabla.

 
Re: Re: ORA-00955: name is already used by
Enviado por Nelson el día 10 de diciembre de 2007

me falto agregar que esto lo puedes hacer directamente sobre la pagina inicial de la base de datos
entras como el usuario al que le haz asignado la tabla y listo

 

















Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network