- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 pyodbc 库从在 ubuntu 虚拟机上运行的 python djanog 网络应用程序连接到 windows 上的远程 sql server 实例。
我有一个数据库连接类,如下所示,它在我尝试创建对象连接的那一行中断(我一直在尝试许多连接字符串);
import pyodbc
class SQLSeverConnection():
def __init__(self, DSN, user, password, database):
connectionString = 'DSN=MSSQLServerDataSource;UID=django;PWD=password123!;DATABASE=HD'
self.connection = pyodbc.connect(connectionString)
self.cursor = self.connection.cursor()
def getTableNames(self):
self.cursor.execute('SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = \'BASE TABLE\'')
tables = self.cursor.fetchall()
return tables
def getColumnTitles(self, tableName):
self.cursor.execute("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + tableName + "' ORDER BY ORDINAL_POSITION")
columns = self.cursor.fetchall()
return columns
def getColumnData(self, columnName, tableName, startDateTime, endDateTime):
self.cursor.execute('SELECT ' + columnName + ' FROM ' + tableName + ' BETWEEN ' + startDateTime + ' AND ' + endDateTime + ' ORDER BY timestamp')
data = self.cursor.fetchall()
return data
当我运行服务器时,出现标题中所述的错误。
我的配置文件如下;
(odbc.ini)
[MSSQLServerDataSource]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = MSSQLServer
Database = HD
TDS_Version = 8.0
(odbcinst.ini)
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
# Some installations may differ in the paths
#Driver = /usr/lib/odbc/libtdsodbc.so
#Setup = /usr/lib/odbc/libtdsS.so
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 4
(freetds.conf)
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
; tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
#Server For Django App
[MSSQLSever]
host = <ip>
port = 1433
tds version = 8.0
当我在终端中输入 odbcinst -j 时;
unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/user/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
使用 isql 和 dsn、用户和密码从命令行成功连接。
我真的不知道该怎么办,我一直在兜圈子一天多了。一些帮助将不胜感激!
最佳答案
试试这个:
connectionString = 'DRIVER={FreeTDS};SERVER=10.1.3.230;PORT=1433;DATABASE=HD;UID=django;PWD=password123!;TDS_Version=7.2;'
您需要明确指定 TDS 版本。在这里查看您可以使用的不同 TDS 版本,7.2 在 2014 年之前的每个 SQL Server 上为我工作了 2008+:
http://www.freetds.org/userguide/choosingtdsprotocol.htm
您需要在 Django pyodbc 设置中执行相同的操作。我建议使用此版本的 django-pyodbc:
https://github.com/lionheart/django-pyodbc/
祝你好运,让我知道它是否适合你。
关于python - 异常值 : ('08001' , '[08001] [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906016/
我有一个在 Docker 容器中运行的 Python Flask 应用程序,该容器通过 SQLAlchemy 连接到 MS SQL Server(企业数据库)。但是,当我尝试构建容器时遇到包冲突。这是
我正在尝试在 redhat 6.3 中安装 msodbcsql v13。它显示 unixODBC(64 位) >= 2.3.1 需要在安装 msodbcsql 之前安装的依赖项错误。 我尝试在命令下运
我要问和回答这个问题,因为这使我花了很长时间才弄清楚,我希望答案从这里开始。 问题:一个长时间运行的unixODBC查询会阻止同一应用程序中的所有其他查询。 问题是:如何阻止这种情况的发生。 最佳答案
我正在使用 ArchLinux,我正在尝试安装 OpenEdge 进度驱动程序,以便我可以通过 PHP 访问它。我已经安装了 unixodbc 包和驱动程序,但是当我通过 isql 或 PHP 测试连
我用 C++ 编写了一些使用 ODBC 远程处理数据库的软件。在这种情况下,数据库在 Postgres 引擎中运行,而我的软件在安装了 unixODBC 和 odbc-postgres 驱动程序的 U
我使用unixODBC连接到mssql数据库通过 odbc。问题是无论我添加多少数据源odbc.ini,它始终使用列表中的第一个数据库.. odbcinst.ini [ODBC] Trace
我的应用程序用于从大文件的不同部分读取数据并更新表。数据的每个部分都与一个单独的表相关联。更新过程可以包含多个插入、更新和删除语句。 我试图将文件拆分为多个文件并运行 3、4 或 n 个应用程序实例以
我的unixodbc可以连接到PostgreSQL,但是unixodbc总是写入错误的跟踪文件。我在/tmp/odbc.log 中设置跟踪文件,但 unixodbc 总是将其写入/tmp/sql.lo
我正在使用 Ubuntu+php+unixodbc+mdbtools 来处理 .mdb 文件。 每件事(连接+选择)都很好,但是插入或更新语句。 我的代码是这样的: $mdbConnection =
我有一个类似的查询 select x from tableName where startDate = { ts '?' } for update;");
我在一个环境中工作,该环境在组织范围内集中安装的驱动器上安装了 unixODBC,但我们(实际开发人员)不允许在其中安装驱动程序或数据源。这一切都是倒退的,但我必须忍受它。 现在我正在尝试构建一个 p
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我需要将 LAMP(Linux Ubuntu 12.10、Apache 2、MySQL 5、PHP 5.3)服务器中的 PHP 脚本连接到 Access MDB 数据库(2003 版)。 1。 uni
我试图弄清楚这两个拼图在连接到 Linux 上的 MS-SQL 服务器时如何交互和组合在一起。 据我了解,FreeTDS 是用于与 MS-SQL 对话的协议(protocol)(即一组规则),它是真正
有两个主要的开源平台独立实现ODBC 。是iODBC和 unixODBC . 考虑到 Unix 作为 ODBC 用户平台和功能,这两种实现之间真正的实际差异是什么? 最佳答案 只是为了让您知道我使用
我已将此代码包含在当前事件主题的 functions.php 中,并且在 WINDOWS 平台 上完美运行(即:我首先将 .mdb 文件上传到服务器上,然后从文件中读取表格)。就像我们使用 MySQL
我已经为此工作了太久,似乎无法弄清楚。我确定我的 freetds.conf、odbc.ini 或 odbcinst.ini 有问题。我可以使用 tsql 连接到我的 mssql 2008 服务器,但仍
我在 Ubuntu Linux 上,想知道如何检测系统有什么 ODBC 驱动程序管理器(如果有的话)。 像 Rakib 的评论一样,我使用的一种非常粗略的方法是简单地尝试运行 isql (unixOD
我正在使用 Debian。我安装了 unixODBC 以及 FreeTDS。我正在使用 PHP 我已经阅读了几个操作方法,但遇到了一个问题。 我使用 tsql 测试了 FreeTDS,它工作正常。 我
我使用来自 brainman (http://code.google.com/p/odbc) 的 ODBC 驱动程序将 Golang 与 FreeTDS 结合使用 一切正常,直到我对盒子进行压力测试。
我是一名优秀的程序员,十分优秀!