Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

फ्लास्क-SQLAlchemy का उपयोग करके MSSQL डेटाबेस से कनेक्ट करें

तो मुझे बस एक ही समस्या थी और निम्नलिखित करके हल करने में सक्षम था।

SQL कीमिया दस्तावेज़ीकरण के बाद मैंने पाया कि मैं अपने 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

इसके बाद एक अतिरिक्त त्रुटि हुई क्योंकि मैं फ्लास्क-माइग्रेट का भी उपयोग कर रहा था और जाहिर तौर पर यह कनेक्शन यूआरआई में% पसंद नहीं करता है। तो मैंने कुछ और खुदाई की और इस पोस्ट को पाया। फिर मैंने अपने ./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. गतिशील एसक्यूएल बनाम संग्रहित प्रक्रिया

  2. SQL सर्वर में एक ही क्वेरी को कई बार चलाने का सबसे तेज़ तरीका

  3. उदाहरण पर हमेशा उपलब्धता समूह में SQL सर्वर में पारदर्शी डेटा एन्क्रिप्शन (TDE)

  4. एक एसक्यूएल पंक्ति हैश?

  5. SQL सर्वर प्रबंधन स्टूडियो में तालिका संपादन के बाद परिवर्तन सहेजा जा रहा है