关于linux 安装 python pymssql模块

需要先安装freetds
是一个开源的C程序库,它可以实现在Linux系统下访问操作微软的SQL数据库。可以用在Sybase的db-lib或者ct-lib库,在里面也包含了一个ODBC的库。允许许多应用软件连接到Sybase或者微软的SQL服务器。

配置文件 默认安装在 /usr/local/etc/freetds.conf

[global]
# TDS protocol version
tds version = 7.0
client charset = UTF-8
# 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

# A typical Sybase server
[Server2012]
host = 10.20.17.102
port = 1433
tds version = 7.0
client charset = UTF-8
# A typical Microsoft server
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0

测试命令 tsql -S Server2012 -U sa (注意只能用配置文件配置的主机,不能直接写地址)
如果出现编码不一致的错误 尝试更改client charset

安装pymssql
测试代码
import pymssql
conn=pymssql.connect(host=‘10.20.17.102‘,database=‘webdata‘,user=‘sa‘,password=‘***‘,charset="cp936")
cur=conn.cursor()
cur.execute("SELECT TOP 10 * FROM sys_Codes")
for i in cur.fetchall():
print i

conn.close()

(pymssql 2.1.0 时读取数据库中文字符数据时报如下错(不知到是环境的原因还是版本的原因) )

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pymssql.pyx", line 515, in pymssql.Cursor.fetchall (pymssql.c:8022)
File "pymssql.pyx", line 467, in pymssql.Cursor.getrow (pymssql.c:7035)
File "_mssql.pyx", line 418, in _mssql.MSSQLRowIterator.__next__ (_mssql.c:4317)
File "_mssql.pyx", line 1069, in _mssql.MSSQLConnection.fetch_next_row (_mssql.c:10650)
File "_mssql.pyx", line 1235, in _mssql.MSSQLConnection.get_row (_mssql.c:12131)
File "_mssql.pyx", line 758, in _mssql.MSSQLConnection.convert_db_value (_mssql.c:7762)
File "/usr/local/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: ‘utf8‘ codec can‘t decode byte 0xc2 in position 0: invalid continuation byte
可以尝试将 charset参数设置为 cp936
如果程序使用sqlalchemy 读取数据 要在 create_engine时 的charset参数设置为 cp936,不是连接字符串的charset,后面传给pymssql
create_engine(self.conn_str,
connect_args={‘charset‘:‘cp936‘, ‘appname‘: ‘test‘, ‘timeout‘: 10},
echo=False, convert_unicode=True,
pool_recycle=-1, pool_size=100, max_overflow=50)

SQLAlchemy 0.9.7 与SQLAlchemy0.8.x不兼容 (undefe()最新版中需要求传参数)

----------------------

pymssql 2.1.0 不兼容sql语句中文注释

pymssql-2.0.0b1-dev-20111019

时间: 2024-10-26 14:23:47

关于linux 安装 python pymssql模块的相关文章

Windows+Linux安装Python工具setuptools

Windows+Linux安装Python工具setuptools setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的 distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况. 经常接触Python可能会注意到,当需要安装第三方pytho

2如何安装Python第三方模块

如何安装Python第三方模块 Python官方为我们提供了第三方库,那么如何安装这些库呢? 安装第三方库有两种方式: 第一种就是使用python自带的仓库pip进安装 第二种就是使用源码进行安装 PIP方式安装 首先用yum安装python-pip软件包 [[email protected] ~]# yum  install python-pip 安装完成之后可以使用pip -V查看安装版本 [[email protected] ~]# pip -V pip 7.1.0 from /usr/l

安装Python第三方模块MySQLdb

用easy-install安装总是提示error: Unable to find vcvarsall.bat错误,尝试各种手段终于没有解决.最后从http://www.crifan.com/python_install_module_mysql_mysqldb/这篇博客中下载MySQL-python-1.2.3.win-amd64-py2.7.exe 安装成功. 安装Python第三方模块MySQLdb,布布扣,bubuko.com

发布和安装python自定义模块

这一篇说下如何发布和安装python自定义模块,版本:Python 2.7 . 1.创建setup.py 现在如果已经写好一个python文件,为了尽量简明,创建一个新的文件夹,把自己py文件放进去.接着在这个文件夹中创建一个名为 setup.py 的文件,用来表示模块的元数据,文件的内容类似下面这个样子.除了手工创建,有很多python编辑器也可以更简便的来创建这个文件,例如 pycharm. from distutils.core import setup setup( name='nest

Linux 安装python爬虫框架 scrapy

Linux 安装python爬虫框架 scrapy http://scrapy.org/ Scrapy是python最好用的一个爬虫框架.要求: python2.7.x. 1. Ubuntu14.04 1.1 测试是否已经安装pip # pip --version 如果没有pip,安装: # sudo apt-get install python-pip 1.2 然后安装scrapy Import the GPG key used to sign Scrapy packages into APT

linux 安装python MySQLdb

转自:https://my.oschina.net/jywm/blog/757973 安装步骤 在服务器安装了mysql 或者mysql-connect的前提下 1.安装setuptools 2.安装mysql-python 1.No module named setuptools *原因 没有安装setuptools工具 *解决方案 在python官网https://pypi.python.org搜 setuptools工具,复制工具连接,然后如下操作 #wget https://pypi.p

linux 安装python,pip,

Linux下python升级步骤 http://www.cnblogs.com/lanxuezaipiao/archive/2012/10/21/2732864.html 在 https://www.python.org/downloads/source/ 找到地址 wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz tar -xzvf Python-3.4.2.tgz 解压缩后开始安装 ..... Linux 下安装pyt

安装python第三方模块

下载 第三方模块的下载地址:https://pypi.python.org/pypi 其他版本的第三方模块下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy pipy国内镜像目前有: 豆瓣 http://pypi.douban.com/simple/ 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 清华大学

Linux安装python环境方法

打开WEB浏览器访问http://www.python.org/download/ 选择适用于Unix/Linux的源码压缩包. 下载及解压压缩包. 如果你需要自定义一些选项修改Modules/Setup 执行 ./configure 脚本 make make install 执行以上操作后,Python会安装在 /usr/local/bin 目录中,Python库安装在/usr/local/lib/pythonXX,XX为你使用的Python的版本号.