Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Terhubung ke Database MSSQL menggunakan Flask-SQLAlchemy

Jadi saya hanya memiliki masalah yang sangat mirip dan dapat menyelesaikannya dengan melakukan hal berikut.

Mengikuti dokumentasi SQL Alchemy, saya menemukan bahwa saya dapat menggunakan string koneksi pyodbc saya seperti ini:

# 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

Ini kemudian menyebabkan kesalahan tambahan karena saya juga menggunakan Flask-Migrate dan ternyata tidak suka % di URI koneksi. Jadi saya melakukan penggalian lagi dan menemukan posting ini. Saya kemudian mengubah baris berikut di ./migrations/env.py . saya berkas

Dari:

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

Kepada:

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)

Setelah melakukan semua ini, saya dapat melakukan migrasi dan semuanya tampak berfungsi dengan benar sekarang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Panduan pemula untuk tabel SQL

  2. Menangkap hitungan dari kueri SQL

  3. Bagaimana cara menemukan direktori data untuk contoh SQL Server?

  4. Cara Menambahkan AM/PM ke Nilai Waktu di SQL Server (T-SQL)

  5. Apakah Penyedia Microsoft OLE DB untuk SQL Server mendukung TLS 1.2?