¿Puedes solucionarme unos problemas que tengo al conectarme con el oracle?

Tengo algunos líos con este ORACLE y veo que tu eres un experto en esto por esto que me acerco a ti... Tengo muchas dudas
Tengo instalado ORACLE 8.0.4.0.0 en un servidor Win NT 4.0 SP 6
1.- Tengo mi usuario y me conecto a todas las herramientas de ORACLE como NORMAL y cuando selecciono algún otro sysdba o sysoper me dice que usuario y password inválidos...
2.- Estoy trabajando ya hace tiempo con SQL Server y ya ves que existen procedimiento que te ejecutan una serie de instrucciones, cuando ejecutas un select te regresan un cierto conjunto de registros, como podría obtener el mismo resultado pero en ORACLE, dirás este cuate para que lo quiere, lo que pasa es que necesito trabajar también con CRYSTAL reports y ahí solo puedo ver los procedimientos de ORACLE nada de funciones y también las vistas...
NOTA la onda de todo esto es que queremos migrar de SQL a ORACLE y tenemos muchos Stores Procedure que en su código tienen combinados select, insert into, update, delete y todo esto
3.- Me han dicho que utilice los procedimientos solo ara ejecutar instrucciones como insert, update, delete pero entonces donde puedo trabajar cuando quiero un simple select o uno más complejo...

1 Respuesta

Respuesta
1. Desconozco la existencia del usuario NORMAL, debe ser propio de tu base de datos. No veo porque las herramientas de Oracle no deben permitir la conexión con un usuario DBA, al contrario, para hacer según que la única opción es conectarse con un superusuario. Si te dice que el usuario o el password son inválidos, debe ser eso, ¿no?
2. Para poder crear un procedimiento que retorne un conjunto de filas, este debe tener un argumento que sea un cursor por referencia, y la aplicación que lo ejecuta debe ser capaz de llamarlo. No se si el Crystal Reports esta preparado para llamar a este tipo de procedimientos. La migración del código Transact/SQL a PL/SQL a mi juicio es poco menos que imposible : los tipos de datos son diferentes, las sentencias también, los triggers no te digo, y la forma de retornar conjuntos de filas igual, eso suponiendo que Crystal pueda usarlos. Bueno, no es que sea imposible, pero se tendría que modificar el código linea por linea, en plan artesanal.
3. Usar procedimientos para actualizar tablas es una opción costosa, pero que aporta más seguridad de acceso a las tablas que si se da acceso directo a ellas. Para consultas sencillas no le veo demasiada utilidad, y para las complejas depende, si se puede implementar con una vista, yo prefiero una vista, y si no construyo un procedimiento que llena una tabla temporal y luego recupero los datos de la tabla temporal. Más que nada porque mi herramienta preferida no trata demasiado bien los cursores por referencia de Oracle.
Un consejo, ya que Oracle dispone de Packages, que vienen a ser como objetos con sus procedimientos, funciones y variables publicas y privadas, utilizadlos. Agrupad los procedimientos y funciones que traten temas comunes. Es más manejable tener unas decenas de packages que no unos centenares de procedimientos. Si tenéis poco código, pues no hace falta ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas