0

現在、C# で記述された asp.NET 内部 Web サイトを取得し、Django Web フレームワークでやり直しています。.NET サイトで現在使用されているすべてのデータ ソースを特定した後、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)

定義を適切に解析できないかのようです。したがって、私の質問は基本的に次のとおりです。データベースをペアにするときにデータベースを正しく定義していませんか?

4

1 に答える 1

0

このリンクhttps://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-dbshel​​lに基づいて、を使用する必要がありますpython dbshell --database mssql

于 2011-09-20T14:44:23.210 に答える