Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Kết nối với Cơ sở dữ liệu MSSQL bằng Flask-SQLAlchemy

Vì vậy, tôi vừa gặp một vấn đề tương tự và có thể giải quyết bằng cách làm như sau.

Theo tài liệu SQL Alchemy, tôi thấy mình có thể sử dụng chuỗi kết nối pyodbc của mình như sau:

# 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

Điều này sau đó gây ra một lỗi bổ sung vì tôi cũng đang sử dụng Flask-Migrate và có vẻ như nó không thích% trong URI kết nối. Vì vậy, tôi đã thực hiện một số đào sâu hơn và tìm thấy bài đăng này. Sau đó, tôi đã thay đổi dòng sau trong ./migrations/env.py của mình tệp

Từ:

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

Tới:

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)

Sau khi thực hiện tất cả những điều này, tôi đã có thể thực hiện việc di chuyển của mình và mọi thứ dường như đang hoạt động bình thường.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATEPART () Ví dụ trong SQL Server

  2. Sử dụng OBJECTPROPERTY () để xác định xem một đối tượng có phải là dạng xem trong SQL Server hay không

  3. Lời khuyên về hiệu suất SQL Server từ Brent Ozar và Pinal Dave

  4. Trả lại tất cả các hàng từ một phân vùng cụ thể trong SQL Server (T-SQL)

  5. Khi nào và cách sử dụng mệnh đề PARTITION BY trong SQL