Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Свържете се с базата данни MSSQL с помощта на Flask-SQLAlchemy

Така че току-що имах много подобен проблем и успях да го реша, като направя следното.

Следвайки документацията на SQL Alchemy, открих, че мога да използвам моя низ за връзка pyodbc по следния начин:

# Python 2.x
import urllib
params = urllib.quote_plus("DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)

# Python 3.x
import urllib
params = urllib.parse.quote_plus("DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)


# using the above logic I just did the following
params = urllib.parse.quote_plus('DRIVER={SQL Server};SERVER=HARRISONS-THINK;DATABASE=LendApp;Trusted_Connection=yes;')
app.config['SQLALCHEMY_DATABASE_URI'] = "mssql+pyodbc:///?odbc_connect=%s" % params

След това това доведе до допълнителна грешка, защото също използвах Flask-Migrate и очевидно не харесва % в URI на връзката. Така че поразрових още малко и намерих този пост. След това промених следния ред в моя ./migrations/env.py файл

От:

from flask import current_app
config.set_main_option('sqlalchemy.url',
                   current_app.config.get('SQLALCHEMY_DATABASE_URI'))

До:

from flask import current_app
db_url_escaped = current_app.config.get('SQLALCHEMY_DATABASE_URI').replace('%', '%%')
config.set_main_option('sqlalchemy.url', db_url_escaped)

След като направих всичко това, успях да направя своите миграции и всичко изглежда сякаш работи правилно сега.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразуване на ‘time’ в ‘smalldatetime’ в SQL Server (T-SQL примери)

  2. Изследване на онлайн индексни операции на ниво дял в SQL Server 2014 CTP1

  3. SQL Query Where Column ='' връщащи знаци за емоджи 🎃 и 🍰

  4. Брой(*) срещу Брой(1) - SQL Server

  5. Актуализирайте стойността на първичния ключ с помощта на рамката на обекта