0
我目前正在採取用C#編寫的asp.NET內部網站,並在Django web框架中重做它的過程。在識別出.NET網站使用的所有當前數據源之後,我開始配置和測試從Django框架內連接到這些數據庫的能力。Django項目多數據庫配置settings.py
- 平臺:的Archlinux
- Django的版本: 1.3.1
- Python版本: 2.7
問題: 每當我嘗試連接到任何數據庫那沒有被定義爲默認數據庫,我無法這樣做。此外,我無法連接的任何數據庫僅在定義爲時不是的默認值。
爲了進一步說明這一點,我將提供節錄的例子:
DATABASES = {
'default': {
'ENGINE': 'postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
'mssql': {
'ENGINE': 'sql_server.pyodbc',
'DATABASE_ODBC_DSN': 'name_of_sql_server',
'DATABASE_NAME': 'Logs',
'DATABASE_USER': r'user_name',
'DATABASE_PASSWORD': 'password',
'DATABASE_OPTIONS': {
'driver': 'sql_server_driver',
'dsn': 'MSSQL_Logs',
},
}
}
如果我註釋掉第一個缺省數據庫定義,並更改MSSQL數據庫默認的名字,我能夠訪問dbshell經由:
manage.py dbshell mssql
:
manage.py dbshell
但是,如果我試圖直接訪問MSSQL數據庫,因爲它是通過如上所定義
我得到一個錯誤:
TypeError: handle() takes exactly 1 argument (7 given)
這幾乎就像它無法正確解析定義。所以我的問題基本上是這樣的:我是否在將它們配對在一起時錯誤地定義了數據庫?