Как исправить проблему с подключением SQLAlchemy: «Информация о соединении необходима в формате SQLAlchemy» при подключеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить проблему с подключением SQLAlchemy: «Информация о соединении необходима в формате SQLAlchemy» при подключе

Сообщение Anonymous »

Итак, последние несколько дней я пытался подключиться к серверу IBM DB2, размещенному в облаке IBM, и мне удалось подключиться к нему, используя предоставленные учетные данные и файлы «ibm_db», «ibm_db_sa» и «ibm_db_dbi». 'модуль. Однако, когда я импортировал магию SQL и попытался подключиться к серверу, это не удалось.
Я попробовал в общей сложности 3 метода: метод, рекомендованный IBM, и некоторые другие методы, которые я нашел на Интернет, который, к сожалению, потерпел неудачу.
Метод 1 (рекомендуется IBM):

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

import ibm_db
import ibm_db_sa
import sqlalchemy
from sqlalchemy import *
%load_ext sql

%sql ibm_db_sa://qcf54xxx:qz^d5stlkbr6lxxx@https://dashdb-txn-sbox-yp-dal09-03.services.dal.bluemix.net:50000/BLUDB
Ошибка:

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

Connection info needed in SQLAlchemy format, example:
postgresql://username:password@hostname/dbname
or an existing connection: dict_keys([])
invalid literal for int() with base 10: ''
Connection info needed in SQLAlchemy format, example:
postgresql://username:password@hostname/dbname
or an existing connection: dict_keys([])
Метод 2:

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

from sqlalchemy import create_engine
engine = create_engine('ibm_db_sa://qcf54xxx:qz^d5stlkbr6lxxx@dashdb-txn-sbox-yp-dal09-03.services.dal.bluemix.net:50000/BLUDB')
Ошибка:

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

Invalid Syntax
Метод 3:

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

import sqlalchemy
from sqlalchemy import *
import ibm_db_sa
db2 = sqlalchemy.create_engine('ibm_db_sa://qcf54xxx:qz^d5stlkbr6lxxx@dashdb-txn-sbox-yp-dal09-03.services.dal.bluemix.net:50000/BLUDB')
metadata = MetaData()
Ошибка:

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

Invalid Syntax
Успешный метод (метод без SQLAlchemy)[Только для справки]:

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

import ibm_db
import ibm_db_sa
import ibm_db_dbi
import pandas
#Connects to the IBM database
dsn_hostname = "dashdb-txn-sbox-yp-dal09-03.services.dal.bluemix.net" # e.g.: "dashdb-txn-sbox-yp-dal09-04.services.dal.bluemix.net"
dsn_uid = "qcf54xxx"        # e.g. "abc12345"
dsn_pwd = "qz^d5stlkbr6lxxx"      # e.g. "7dBZ3wWt9XN6$o0J"

dsn_driver = "{IBM DB2 ODBC DRIVER}"
dsn_database = "BLUDB"            # e.g. "BLUDB"
dsn_port = "50000"                # e.g. "50000"
dsn_protocol = "TCPIP"            # i.e. "TCPIP"

#DO NOT MODIFY THIS CELL. Just RUN it with Shift + Enter
#Create the dsn connection string
dsn = (
"DRIVER={0};"
"DATABASE={1};"
"HOSTNAME={2};"
"PORT={3};"
"PROTOCOL={4};"
"UID={5};"
"PWD={6};").format(dsn_driver, dsn_database, dsn_hostname, dsn_port, dsn_protocol, dsn_uid, dsn_pwd)

#print the connection string to check correct values are specified
print(dsn)

#DO NOT MODIFY THIS CELL. Just RUN it with Shift + Enter
#Create database connection

try:
conn = ibm_db.connect(dsn, "", "")
print ("Connected to database: ", dsn_database, "as user: ", dsn_uid, "on host: ", dsn_hostname)

except:
print ("Unable to connect: ", ibm_db.conn_errormsg() )
Я ожидаю, что смогу использовать %sql для управления базой данных.
Спасибо!
P.S. Если я прозвучал грубо или чем-то вас обидел, пожалуйста, поймите, что английский не мой родной язык. :(

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

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

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

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

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

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

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