Python использует oracledb для подключения к базе данных Oracle с помощью Pandas DataFrame Ошибка: «Pandas поддерживает Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python использует oracledb для подключения к базе данных Oracle с помощью Pandas DataFrame Ошибка: «Pandas поддерживает

Сообщение Anonymous »

Я новичок в Python и еще новичок в Pandas, и надеюсь на некоторые рекомендации.
В моей компании есть локальная база данных Oracle DEV, к которой я пытаюсь подключиться с помощью Python. И Панды. После некоторого поиска я обнаружил, что рекомендуется использовать пакет Python "oracledb".
Используя код VS.IPYNB, у меня есть следующие фрагменты кода, которые, похоже, работают без ошибок
Использование кода VS.IPYNB. р>

Код: Выделить всё

# python -m pip install --upgrade pandas
import oracledb
import pandas as pd
from sqlalchemy import create_engine

connection = oracledb.connect(user="TEST", password="TESTING", dsn="TESTDB:1234/TEST")

print("Connected")
print(connection)
Кажется, что приведенный выше код работает нормально, и это здорово
Затем я запускаю приведенный ниже код в качестве быстрого теста

Код: Выделить всё

cursor=connection.cursor()
query_test='select * from dm_cnf_date where rownum < 2'

for row in cursor.execute(query_test):
print(row)
Это возвращает кортеж со строкой данных, пока все хорошо, похоже, я могу подключиться к базе данных и выполнить запрос.
Далее Я хотел поместить данные в фрейм данных Pandas, и здесь я застрял.
Я попробовал этот код

Код: Выделить всё

df = pd.read_sql(sql=query_test, con=connection)
После этого я получаю следующую ошибку:

: 1: Предупреждение пользователя: поддерживается только pandas
Подключаемый SQLAlchemy (движок/соединение) или URI строки базы данных или
sqlite3 соединение DBAPI2. Другие объекты DBAPI2 не проверяются. Пожалуйста
рассмотрите возможность использования SQLAlchemy. df = pd.read_sql(sql=query_test,
con=connection)

Я пытался следовать этой статье («Читать данные как pandas DataFrame"): https://kontext.tech/article/1019/pytho ... e-database
но, похоже, это не сработало.
Я пытался просмотреть сайт sqlalchemy здесь: https://docs.sqlalchemy.org/en/20/diale ... e.oracledb
Я попытался немного переписать свой код следующим образом:

Код: Выделить всё

conn_url="oracle+oracledb://TEST:TESTING@TESTDB:1234/TEST"
engine=create_engine(conn_url)

df = pd.read_sql(sql=query_test, con=engine)
И у меня появляется еще одна ошибка.

Операционная ошибка: DPY-6003: SID «TEST» не равен
зарегистрирован в прослушивателе на порту хоста «TESTDB»
1234. (Аналогично ORA-12505)

Просто хочу подключиться к базе данных Oracle и захватить данные в фрейм данных Pandas, но все время натыкаюсь на стену
Будем очень признательны за любую информацию

Подробнее здесь: https://stackoverflow.com/questions/792 ... rame-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»