使用Django连接SQL Server 2008时出错
我正在使用 django-mssql
和 SQL Server 2008,但我发现每当我执行一些命令时,总是会出错,比如:
python manage.py syncdb
错误信息如下:
raise OperationalError(e, "Error opening connection: " + connection_string) sqlserver_ado.dbapi.OperationalError: (com_error(-2147352567, '\xb7\xa2\xc9\xfa\ xd2\xe2\xcd\xe2\xa1\xa3', (0, u'Microsoft OLE DB Provider for SQL Server', u"\u7 528\u6237 'sa' \u767b\u5f55\u5931\u8d25\u3002", None, 0, -2147217843), None), 'E rror opening connection: PROVIDER=SQLOLEDB;DATA SOURCE=115.238.106.101,60433;Net work Library=DBMSSOCN;Initial Catalog=rvdb_2;UID=sa;PWD=xxx')
当我使用 Microsoft SQL Server Management Studio 客户端时,我可以成功连接到数据库。
我从这里获得了一些信息:http://code.google.com/p/django-mssql/issues/detail?id=76,但我尝试后还是出错,我觉得提供的解决方案是错误的。
2 个回答
我也遇到过同样的问题。我觉得问题在于你还没有创建数据库。mssql这个后端似乎不会自动为你创建数据库。等我自己创建了数据库,并使用下面的设置后,一切就正常了!
DATABASES = {
'default': {
'NAME': 'testdb',
'ENGINE': 'sqlserver_ado',
'HOST': 'localhost',
'USER': '',
'PASSWORD': '',
'OPTIONS' : {
'provider': 'SQLNCLI10.1',
'extra_params' : 'DataTypeCompatibility=80;MARS Connection=True'
},
}
}
@Daniel DiPaolo 这是我从控制台复制过来的信息。 我确定就这些…… 我知道这是因为更新的mssql2008是硬编码的…… 你可以查看这个链接 http://code.google.com/p/django-mssql/issues/detail?id=76 但我无法解决这个问题……我觉得他的代码有问题。