Articles of oracle

error al conectar Oracle en Python usando cx_Oracle

Estaba tratando de conectar la base de datos de Oracle usando Python como abajo. import cx_Oracle conn = cx_Oracle.connect(‘user/password@host:port/database’) He enfrentado un error al conectar oracle. DatabaseError: DPI-1047: No se puede cargar la biblioteca de cliente de Oracle de 64 bits: “libclntsh.so: no se puede abrir el archivo de objeto compartido: no existe tal archivo […]

ORA-01465: número hexadecimal no válido en Python Django

Estoy intentando cargar varios archivos en la base de datos de Oracle 11g usando Python Django. Aquí está mi opinión for filecol in request.FILES.getlist(‘file’): filename = filecol.name filetype = filecol.content_type fileblob = filecol.read() FileRecord.objects.create(O_FILE_ID=oID, FILE_NAME=filename, FILE_TYPE=filetype, FILE_BLOB=fileblob, DATE_UPLOADED=datetime.datetime.now().replace(microsecond=0)) Entonces recibí este mensaje de error return self.cursor.execute(query, self._param_generator(params)) django.db.utils.DatabaseError: ORA-01465: invalid hex number Aquí en mis […]

¿Hay alguna forma de usar una función similar a strftime para las fechas anteriores a 1900 en Python?

No me di cuenta de esto, pero al parecer la función strftime de Python no admite fechas anteriores a 1900: >>> from datetime import datetime >>> d = datetime(1899, 1, 1) >>> d.strftime(‘%Y-%m-%d’) Traceback (most recent call last): File “”, line 1, in ValueError: year=1899 is before 1900; the datetime strftime() methods require year >= […]

AWS Python Lambda con Oracle

Estoy tratando de conectarme a una base de datos de Oracle de AWS Lambda usando python. Logré empaquetar cx_Oracle pero el entorno no encuentra las dependencias. Había comprimido el contenido, que contenía cx_Oracle.so y cx_Oracle-5.2.1-py2.7.egg-info (creado en 64bit AWX Linux). También agregué los archivos de instantclient-basic-linux.x64-12.1.0.2.0.zip en local / lib en ese archivo zip. El […]

Parámetros nombrados con un procedimiento almacenado de Oracle en Python

Al intentar llamar a un procedimiento almacenado existente, pero utilizando parámetros nombrados, el primer parámetro debe conservar el valor predeterminado (en este caso, NULL). He pasado demasiado tiempo tratando de hacer que esto funcione, ¿alguna idea? create or replace procedure so_test(p1 in varchar2 default null, p2 in varchar2 default null, p3 in varchar2 default null) […]

cx_Oracle y tipos definidos por el usuario

¿Alguien sabe una manera más fácil de trabajar con tipos definidos por el usuario en Oracle usando cx_Oracle? Por ejemplo, si tengo estos dos tipos: CREATE type my_type as object( component varchar2(30) ,key varchar2(100) ,value varchar2(4000)) / CREATE type my_type_tab as table of my_type / Y luego un procedimiento en el paquete my_package como sigue: […]

InterfaceError: no se puede adquirir el identificador del entorno Oracle; ORACLE_HOME es correcto y SQL * Plus se conectará

Recibo el error estándar “Error en la carga de DLL; módulo no encontrado” al intentar importar cx_Oracle. Tengo instalado correctamente el cliente instantáneo, las rutas son todas correctas … la ejecución de Dependency Walker me dice que me estoy perdiendo el siguiente. Estoy ejecutando el cliente instantáneo para Oracle 11g y Python 2.7. ¿Alguien tiene […]

cx_Oracle ‘ORA-01843: no es un mes válido’ con parámetro Unicode

Tengo lo siguiente: (usando ipython) In [30]: con = cx_Oracle.connect(‘refill_test02/******@MYDB’) In [31]: cur = con.cursor() In [32]: cur.execute(“ALTER SESSION SET NLS_DATE_FORMAT = ‘YYYY-MM-DD HH24:MI:SS’ NLS_TIMESTAMP_FORMAT = ‘YYYY-MM-DD HH24:MI:SS.FF'”) In [33]: cur.execute(“select to_date(:0), to_timestamp(:1) from dual”, [‘2013-03-12’, ‘2013-03-12 08:22:31.332144’]) Out[33]: <__builtin__.OracleCursor on > In [34]: cur.fetchall() Out[34]: [(datetime.datetime(2013, 3, 12, 0, 0), datetime.datetime(2013, 3, 12, 8, […]

Python-Oracle pasando en un parámetro de cursor hacia fuera

Estoy tratando de llamar a un procedimiento almacenado entre python y un oracle db. El problema que tengo es pasar un parámetro fuera del cursor. El procedimiento almacenado de Oracle es esencialmente: create or replace procedure sp_procedure( cid int, rep_date date, ret out sys_refcursor ) is begin open ret for select … end; El código […]

Establecer tiempo de espera de conexión de base de datos en Python

Estoy creando una API REST que necesita acceder a la base de datos. Estoy usando Restish, Oracle y SQLAlchemy. Sin embargo, intentaré encuadrar mi pregunta de la manera más genérica posible, sin tener en cuenta Restish u otras API web. Me gustaría poder establecer un tiempo de espera para una conexión que ejecuta una consulta. […]