2011-09-20 89 views
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數據庫默認的名字,我能夠訪問dbshel​​l經由:

manage.py dbshell mssql 

manage.py dbshell 

但是,如果我試圖直接訪問MSSQL數據庫,因爲它是通過如上所定義

我得到一個錯誤:

TypeError: handle() takes exactly 1 argument (7 given) 

這幾乎就像它無法正確解析定義。所以我的問題基本上是這樣的:我是否在將它們配對在一起時錯誤地定義了數據庫?

回答