Найти - Пользователи
Полная версия: Python connect to Oracle database and SQL request
Начало » Python для новичков » Python connect to Oracle database and SQL request
1
Quaresma
здравствуйте уважаемые форумчане!
подскажите пожалуйста: есть SQL запрос, необходимо сделать его через Python, так как будут еще необходимые действия в виде формирования csv и тд и тп..
При этом нужно законектиться в БД Oracle.

Собственно, что я делаю:

import cx_Oracle
hostname = ‘имя_хоста’
port = 0000
SID = ‘имя’
dsn_tns = cx_Oracle.makedsn(hostname, port, SID)

connection = cx_Oracle.connect('значение', ‘значение1’, dsn_tns)

тут print выдает : <cx_Oracle.Connection to значение@(DESCRIPTIONADDRESSPROTOCOL=TCP)(HOST=имя_хоста)(PORT=0000))(CONNECT_DATASID=имя)))>

если добавить SQL запрос :

my_cursor = connection()
my_cursor.execute(“”“select * from некая_таблица_из_БД_Oracle
”“”)
execute = my_cursor
print(my_cursor)

то возникает ошибка:

Traceback (most recent call last):
File “C/15.03.19.py”, line 9, in <module>
my_cursor = connection()
TypeError: ‘cx_Oracle.Connection’ object is not callable

То есть как я понимаю само соединение проходит, но дальше что-то….
Подскажите пожалуйста ?!
FishHook
Quaresma
Вы каким местом документацию то читали?
cursor = connection.cursor()
Quaresma
FishHook
Вы каким местом документацию то читали?
прошу сильно не ругать - в программировании еще в самом начале..

я так понимаю my_cursor меняю на cursor, тогда опять выдает соединение:

cx_Oracle.Connection to значение@(DESCRIPTIONADDRESSPROTOCOL=TCP)(HOST=имя_хоста)(PORT=0000))(CONNECT_DATASID=имя)))
FishHook
Quaresma
Давайте внимательно проследим за руками.
Вы пишите
connection = cx_Oracle.connect('значение', ‘значение1’, dsn_tns)
my_cursor = connection()

в документации пишут

connection = cx_Oracle.connect('значение', ‘значение1’, dsn_tns)
cursor = connection.cursor()

Вы видите какую-нибудь существенную разницу, кроме имен переменных?
Quaresma
FishHook
Вы видите какую-нибудь существенную разницу, кроме имен переменных?
Здравствуйте! спасибо за ответы.. смог таки разобраться:

import cx_Oracle
hostname = ‘имя_хоста’
port = 0000
SID = ‘имя’
dsn_tns = cx_Oracle.makedsn(hostname, port, SID)

connection = cx_Oracle.connect('значение', ‘значение1’, dsn_tns)

mySQLQuery = (“”“

SQL запрос

”“”)

cursor.execute(mySQLQuery)
results = cursor.fetchall()

print(results)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB