Articles of oracle

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. […]

No se puede insertar Unicode usando cx-Oracle

Tengo un problema al insertar unicode en un esquema de Oracle, creo que la base de datos es una instancia de Oracle 11g pero no estoy seguro en este momento. Estoy usando python 2.6.1 en OS X 10.6.8 (esta es la versión del sistema de python) y estoy usando el módulo de controlador cx-Oracle versión […]

Paquete: cx_Oracle para Python 3.5, Windows64 bit. Oracle 11.2.0.1.0

Estoy tratando de instalar cx_Oracle en mi PC con Windows. Ejecuté el siguiente comando en el símbolo del sistema: pip install cx_Oracle Esto me está dando el siguiente error: Collecting cx-Oracle Could not find a version that satisfies the requirement cx-Oracle (from versions: ) No matching distribution found for cx-Oracle Estoy usando Windows 64bit machine […]

Problema al construir cx_Oracle – libclntsh.so.11.1 => no encontrado

Estoy tratando de comstackr cx_Oracle para una instalación de Python 2.7.2 y Oracle 11g, pero el cx_Oracle construido no puede encontrar libclntsh.so.11.1, por lo que la importación de cx_Oracle en Python falla. /mypath/cx_Oracle-5.1.1/build/lib.linux-x86_64-2.7-11g]$ ldd cx_Oracle.so libclntsh.so.11.1 => not found libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ae9be290000) libc.so.6 => /lib64/libc.so.6 (0x00002ae9be4ab000) /lib64/ld-linux-x86-64.so.2 (0x000000389b600000) Tengo libclntsh.so.11.1 en mi directorio de […]

cx_Oracle no se conecta cuando se usa SID en lugar del nombre de servicio en la cadena de conexión

Tengo una cadena de conexión que se parece a esto con_str = “myuser/mypass@oracle.sub.example.com:1521/ora1” Donde ora1 es el SID de mi base de datos. El uso de esta información en SQL Developer funciona bien, lo que significa que puedo conectarme y consultar sin problemas. Sin embargo, si bash conectarme a Oracle usando esta cadena, falla. cx_Oracle.connect(con_str) […]

Reflexión de SqlAlchemy de la tabla de Oracle no poseída

Estoy trabajando con SQLAlchemy para ejecutar consultas SQL en una base de datos Oracle. Tengo acceso de lectura a la base de datos, pero el usuario que tengo no posee ninguna de las tablas con las que estoy trabajando. La base de datos se actualiza de forma regular, por lo que, en lugar de enumerar […]

cx_Oracle y manejo de excepciones – ¿Buenas prácticas?

Estoy tratando de usar cx_Oracle para conectarme a una instancia de Oracle y ejecutar algunas sentencias DDL: db = None try: db = cx_Oracle.connect(‘username’, ‘password’, ‘hostname:port/SERVICENAME’) #print(db.version) except cx_Oracle.DatabaseError as e: error, = e.args if error.code == 1017: print(‘Please check your credentials.’) # sys.exit()? else: print(‘Database connection error: %s’.format(e)) cursor = db.cursor() try: cursor.execute(ddl_statements) except […]

cx_Oracle: ¿Cómo puedo recibir cada fila como un diccionario?

Por defecto, cx_Oracle devuelve cada fila como una tupla. >>> import cx_Oracle >>> conn=cx_Oracle.connect(‘scott/tiger’) >>> curs=conn.cursor() >>> curs.execute(“select * from foo”); >>> curs.fetchone() (33, ‘blue’) ¿Cómo puedo devolver cada fila como un diccionario?