5

django-mssqlを使用してDjango1.4.2でMSSQLServer2008R2に接続しようとしています。データベースの設定は次のとおりです。

DATABASE_ENGINE   = 'sqlserver_ado'
DATABASE_NAME     = 'dbtest'
DATABASE_USER     = 'App'
DATABASE_PASSWORD = '*********'
DATABASE_HOST     = 'localhost'
DATABASE_OPTIONS  =  {
            'provider': 'SQLNCLI10',
            'extra_params': 'DataTypeCompatibility=80;MARS Connection=True;',
        } 

DATABASES = {
  'default': {
    'ENGINE':   DATABASE_ENGINE,
    'NAME':     DATABASE_NAME,
    'USER':     DATABASE_USER,
    'PASSWORD': DATABASE_PASSWORD,
    'HOST':     DATABASE_HOST,
    'OPTIONS' : DATABASE_OPTIONS,
  },
}

これは、syncdbを実行しようとしたときに発生するエラーです。

    Traceback (most recent call last):
  File "C:\Python27\DataSatellite\manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 459, in execute_manager
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 196, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 232, in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 371, in handle
    return self.handle_noargs(**options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py", line 57, in handle_noargs
    cursor = connection.cursor()
  File "C:\Python27\lib\site-packages\django\db\backends\__init__.py", line 306, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "C:\Python27\lib\site-packages\sqlserver_ado\base.py", line 193, in _cursor
    self.__connect()
  File "C:\Python27\lib\site-packages\sqlserver_ado\base.py", line 168, in __connect
    use_transactions=self.use_transactions,
  File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 151, in connect
    raise OperationalError(e, "Error opening connection: " + connection_string)
sqlserver_ado.dbapi.OperationalError: (AttributeError("'module' object has no attribute 'VARIANT'",), 'Error opening connection: DATA SOURCE=localhost;Initial Catalog=dbtest;UID=App;PWD=*********;PROVIDER=SQLNCLI10;MARS Connection=True;DataTypeCompatibility=80;MARS Connection=True;')
Finished "C:\Python27\DataSatellite\manage.py syncdb" execution.

私はいたるところを見てきましたが、問題を理解して修正することができないようです。誰かが助けてくれることを願っています!ありがとう!

編集:

私はすでにデータベースを作成しました。また、django-pyodbcを使用してデータベースに接続し、データベースからの読み取りと書き込みに成功しました。しかし、Apacheを使用すると、django-pyodbcで問題が発生するため、django-mssqlを試してみることにしました。しかし、私はそれがもたらすエラーを理解していません。

Django(1.4.2)とPython(2.7)のインストールはWindowsで実行され、ApacheWebサーバーを使用しています。

4

1 に答える 1

2

pywin32を更新して217以降をビルドします。同じ問題(別のトピック)でstackoverflowに関する別の質問を見つけました:

PythonCOMサーバーが'module'オブジェクトに属性'VARIANT'をスローしません

于 2012-12-20T07:40:05.520 に答える