- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我和另一位开发人员正在另一台服务器上使用遗留 SQL 服务器数据库 (SQLEXPRESS) 设置一个 django (v1.4.2) 项目。到目前为止,我们已经能够使用 django-pyodbc 从 linux 和 mac 连接到数据库,并使用 django-mssql 从运行 windows 7 的笔记本电脑连接到数据库。我想在笔记本电脑上使用 django-pyodbc 来保持环境同步。
在笔记本电脑上:
所以,它不起作用,我收到以下错误消息,不知道下一步该怎么做:
('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (53); [01S00] [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute (0)')
我这样设置 django settings.py 文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sql_server.pyodbc',
'NAME': 'test',
'USER': 'test',
'PASSWORD': 'something_else',
'HOST': 'mssqlx',
'PORT': '12345',
'OPTIONS': {
'driver': 'SQL Server',
},
},
}
在 linux 上,我的设置文件有一个 DATABASES 条目,如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sql_server.pyodbc',
'NAME': 'test',
'USER': 'test',
'PASSWORD': 'something_else',
'HOST': 'mssqlx', # ODBC DSN defined in /etc/freetds.conf
'PORT': '12345', # Probably unneeded. Set in mssqlx
'OPTIONS': {
'driver': 'SQL Server', # ODBC driver name in /etc/odbcinst.ini
'extra_params': "TDS_VERSION=7.0" # Probably unneeded. Set in mssqlx
}
},
}
不知道它是否有助于解决这个问题,但是使用 django-mssql(仅在 Windows 上运行),(工作)条目是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlserver_ado',
'NAME': 'test',
'USER': 'test',
'PASSWORD': 'something_else',
'HOST': '199.555.0.10', # changed for this example
'PORT': '12345',
'OPTIONS': {'provider': 'SQLOLEDB'}
},
}
不知道还有哪些其他信息可能有帮助。感谢您提供的任何帮助或见解。
----事后分析----这是最终起作用的方法:
DATABASES 设置中的部分条目:
'default': {
'ENGINE' : 'django.db.backends.sql_server.pyodbc',
'NAME' : 'test_db_name',
'USER' : 'test_db_user_name',
'PASSWORD' : 'password',
# ODBC DSN defined in /etc/freetds.conf
'HOST' : 'mssql_test',
# Ignored for Windows; Required for Linux
'OPTIONS' : {
# ODBC driver name in /etc/odbcinst.ini
'driver': 'SQL Server',
# NOTE: dsn option is added dynamically later, for Windows
}
},
# The ODBC DSN name specified above as DATABASES.default.HOST is ignored on
# Windows, where it must be specified as DATABASES.default.OPTIONS.dsn instead.
# However, we haven't found a way to make DATABASES.default.OPTIONS.dsn work in
# Linux (and probably the same for Mac). It causes the error:
# Data source name not found, and no default driver specified
# Therefore we add it here, but only for Windows.
# Note: The username and pwd in the windows dsn file is apparently NOT used
# (b/c server hosts both test and prod database in same MSSQL
# instance, both test and prod dsn files happen to work - they have the
# same ip address and port number, but different username/password's)
#
# On 64-bit Windows, with our current 32-bit version of pyodbc, the DSN
# must be created via:
# C:\Windows\SysWOW64\odbcad32.exe
# instead of the regular "ODBC Data Sources" app in Control Panel, which
# invokes:
# C:\Windows\system32\odbcad32.exe
#
# os.name is...
# nt for Hans' laptop (Windows 7)
# posix for the "Amazon Linux AMI" (CentOS) on AWS
# posix for Fred's Mac
if os.name == 'nt': # Windows
DATABASES['cf']['OPTIONS']['dsn'] = 'mssql_test'
最佳答案
尝试使用 https://github.com/michiya/django-pyodbc-azure .这应该适用于 Linux 和 Windows。
然后定义你的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'dbname',
'HOST': 'dsn_entry',
'PORT': 'port',
'USER': '',
'PASSWORD': 'pass',
'OPTIONS': {
'driver': 'FreeTDS',
'dsn': 'dsn_entry',
'host_is_server': True
}
}
}
在 Windows 下,OPTIONS
中的 'driver'
条目应该是:
'driver': 'SQL Native Client',
编辑:哎呀,没看到你已经解决了问题。在这里留下我的答案作为引用。
关于sql-server - Windows 上的 Django-pyodbc SQL 服务器连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13402761/
如果你有一个简单的程序名 pyodbcTest.py import pyodbc print "pass" 然后使用 cx_freeze 编译它 cxfreeze --targe-dir=cxTest
我有一个 FileMaker db 在 Mac Mini 上的 FileMaker Server 14 上运行,我正在尝试使用 pyodbc 来获取它。进展不顺利。 首先,什么有效: telnet 1
这里有点菜鸟。我正在尝试创建一个 python 脚本来对基于 SQL 的数据库进行压力测试。 我一直在尝试使用 pyodbc 连接到数据库,但是我在 pyodbc.connect(connection
我想使用 pyodbc 和 freetds 从 Python 连接到 SQL SERVER 数据库。 我的连接正常。 我的代码: class GetSystems(Resource): def get
我正在尝试将 pyodbc 库导入 google colab,但出现此错误。 以防万一,我在我的笔记本中安装了 Anaconda,而且我从来没有遇到过 pyodbc 的问题。 你能帮我吗? 太棒了!
我最近跑了pip install pyodbc 。这表明它在cmd上成功安装了pyodbc。 但是当我这样做时 import pyodbc在 IDLE 中,我收到一条错误消息“没有名为 pyodbc
我写了一个简短的 python 脚本,它试图导入 pyodbc 扩展包,以便我可以访问我的 SQL 表。 import pyodbc as pyodbc cnxn = pyodbc.connect('
我正在尝试使用列表作为值的源将数据插入到 Access mdb 文件中。 cursor.execute("select * from Components") cursor.executemany("
我使用 pyodbc 的时间很短,现在面临着从文件中应用 sql 脚本来执行一些 View 创建的问题。为了应用 sql 文件,我使用另一个线程中的示例 - Follow up: Execute .s
我传递给 pyodbc.connect(conn_str) 的 conn_str 是: conn_str = str("DRIVER={{ODBC Driver 13 for SQL Server}}
好的,我已经在 mac 上安装了 python3.8,分别安装了多个 odbcdrivers。 我创建了一个新的虚拟环境,并在该环境中运行: >>> import pyodbc >>> pyodbc.
我有一个在Mac Mini上的FileMaker Server 14上运行的FileMaker db,我试图通过pyodbc来解决。不好 首先,什么有效: telnet 192.169.19.3 23
我可以按照以下说明确定是否安装了 suds: checking suds version in python 即通过在 Python 控制台中运行以下命令: >>>> import suds >>>>
我可以按照以下说明确定是否安装了 suds: checking suds version in python 即通过在 Python 控制台中运行以下命令: >>>> import suds >>>>
当我使用 pyodbc 查询 SQL 服务器时,我只得到我请求的字段的名称(而不是值本身)。 import pyodbc conn = pyodbc.connect(connection_string
我尝试使用以下代码查询 SQL Server 2012 数据库: import pyodbc class sqlserverConnector: def __init__(self, conn
我目前正在编写一个程序,该程序将从 Excel 电子表格中获取数据并将其插入到我在程序中创建的 SQL Server 表中。 我之前已将日期时间列指定为 nvarchar(250) ,以便使整个程序正
如果有人能指出我正确的方向,我会很感兴趣。 我有一个很长的存储过程(其中还包含对其中其他存储过程的调用),用于更新各种表。 如果我在管理工作室中运行存储过程,它运行良好。如果我从 pyodbc 调用它
你好,我有一个带有 SQL 的 Python 脚本,我使用 fecthall() 方法提取我想要的元素,直到那里一切都很好,因为我想将两列(datetime.date 和 datetime.time)
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我是一名优秀的程序员,十分优秀!