热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pydobc连接sqlserver_pyodbc连接sqlserver

要求:使用python访问远程服务器中的SQLServer,并且插入数据环境:python2.7;windowsXP;sqlserver2

要求:使用python访问远程服务器中的SQL Server,并且插入数据

环境:python2.7; windows XP;sql server 2000

参数(虚拟):服务器ip=1.2.3.4; 端口port=1;

访问sql server的库,知道的有pyodbc以及pymssql,但是pymssql最高版本到py2.6,所以选择pyodbc。第一次使用python访问数据库,折腾了很久,主要是参数中,远程服务器和端口的格式不知道。

安装即可使用。import pyodbc

具体使用方法可以参考帮助文档(GettingStarted, Wiki),这里只记录一下本人在使用过程中遇到的麻烦。

cnxn=pyodbc.connect('DRIVER={SQL Server};SERVER=1.2.3.4;DATABASE=testdb;UID=me;PWD=pass') 不知道,网上很多都没有说端口怎么处理,也不知道作为参数的端口该怎么写。看到有将 “PORT=1”添加到参数字符串中的,但是我的总是没有成功。

自己在本地安装了Sql Server 2000,在dos下使用sqlcmd访问远程数据库1.2.3.4成功,所以应该是自己的参数写错了。之前connect函数的参数为

'DRIVER={SQL Server};SERVER=1.2.3.4;PORT=1;DATABASE=testdb;UID=me;PWD=pass'

各种错,错误编号有(17)以及(53).

改为

'DRIVER={SQL Server};SERVER=1.2.3.4,1;DATABASE=testdb;UID=me;PWD=pass'

连接成功。

不过本地的话,若SERVER=localhost,还没连上,暂时没有去实验连接本地sqlServer。

def AccessSqlServer(serverName, portNumber, databaseName, userName, password, tableName, phone, content):

connStr = ''

connStr += 'DRIVER={SQL Server};'

connStr += 'SERVER=' + serverName + ',' + portNumber + ';'

connStr += 'DATABASE=' + databaseName + ';'

connStr += 'UID=' + userName + ';'

connStr += 'PWD=' + password

try:

conn = pyodbc.connect(connStr)

except Exception as e:

return False

try:

cursor=conn.cursor()

except Exception as e:

return False

execStr = "insert into " + tableName + " (phone, content) values ({0}, '{1}') ".format(phone, content)

try:

cursor.execute(execStr)

conn.commit() #must commit

except Exception as e:

return False

conn.close()

return True



推荐阅读
author-avatar
轩轩20110804
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有