2019独角兽企业重金招聘Python工程师标准>>>

简介:

微软azure平台推出sqldatabase paas服务。现在使用python语言连接azure数据库的小demo。

准备环境:

1,azure sqldatebase数据库创建,参考http://www.windowsazure.cn/starter-guide/

第三课,创建云端的数据库,

2,创建demo表,我是使用管理工具创建,sql语句代码为:

IF NOT EXISTS (SELECT * FROM sys.objectsWHERE object_id = OBJECT_ID(N'[dbo].[demo1]')AND type in (N'U'))BEGINCREATE TABLE [dbo].[demo1](id [int] IDENTITY(1,1) NOT NULL,name varchar(30) not nullCONSTRAINT [PK_demo] PRIMARY KEY CLUSTERED([id] ASC)WITH (IGNORE_DUP_KEY = OFF))END;GO

需要注意的事项为:sqldatabase必须有一列为聚合键,如果没有,创建表会失败,临时表没有该限制。

可以参考http://azure.microsoft.com/en-us/documentation/articles/data-management-azure-sql-database-and-sql-server-iaas/

3,1台azure linux虚拟机,我使用的ubuntu14.04 LTS

4,1个csv文件,只包含1列中文

开始动手

1,安装包python,pyodbc,unixodbc,freetds-bin

2,开始配置,

(1)配置freetds.conf,常见位置/etc/freetds,/usr/local/etc/

# server specific section
[global]# TDS protocol versiontds version = 7.2client 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[azure]host = hostname.database.chinacloudapi.cnport = 1433tds version = 7.2

其中,tds version选择了7.2,添加了client charset,这是为了防止中文乱码

(2)配置odbcinst.ini位置在/etc

[FreeTDS]
Description = FreeTDS Driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount = 1

(3)配置odbc.ini位置在/etc

[azure_odbc]
Driver = FreeTDS
Servername = azure
Database = azureea

其中azure_odbc为odbc的dsn,Servername为freetds配置节点,Driver为odbcinst的配置节点,Database为azure数据库名称

3,开始调试,调试的python代码为:

#coding:utf-8
#!/usr/bin/env python
import pyodbc
import csv
from datetime import datetime
conn = pyodbc.connect('DSN=azure_odbc;UID=username@host;PWD=xxxxx;CHARSET=utf8;')
cursor = conn.cursor()
csvfile=file('name.csv','rb')
reader=csv.reader(csvfile)
for line in reader:print line[0]name=line[0]cursor.execute("insert into demo1(name) values (?);",name)
conn.commit()
conn.close()
csvfile.close()

到此,一个采集数据的小案例就完成了。

转载于:https://my.oschina.net/longfirst/blog/368849

python使用pyodbc,freetds连接azure数据库相关推荐

  1. python使用PyMySQL的连接MySQL数据库

    如何实现将100000条数据插入到MySQL数据库?如果使用MySQL客户端来完成这个操作,那么这个工作量无疑是巨大的,可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删 ...

  2. python cx_oracle_Python3安装cx_Oracle连接oracle数据库实操总结

    首先安装配置时,必须把握一个点,就是版本一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本,然后安装配置就容易了! 如果已经安装Python,查看你安装的Pyt ...

  3. python mss_Python实现的连接mssql数据库操作示例

    本文实例讲述了python实现的连接mssql数据库操作.分享给大家供大家参考,具体如下: 1. 目标数据sql2008 r2 comprject=>testmodel 2. 安装python ...

  4. python通过ssh通道连接PostgreSQL数据库(mysql等类同)

    目录 一.问题需求 二.解决办法 一.问题需求 对于有ssh通道设置的数据库连接,遇到已经有一段时间了.之前老是疑惑,使用Navicat之类的工具就可以连接数据库,但用python就是连接不到.之前写 ...

  5. python连接数据库步骤_Python连接mysql数据库

    Python中连接MySQL的库主要有三个,Python-MySQL,PyMySQL和SQLAlchemy,其中Python-MySQL已经停止更新,且只支持Python2,目前使用最广泛的是PyMy ...

  6. python web框架flask连接mysql数据库操作

    最近在用flask框架做一个python web项目,其中要连接数据库,所以总结如下: 如何用pycharm快速创建一个flask项目我就不详细说了,可以先创建虚拟环境,不过大部分的事pycharm都 ...

  7. Python使用pymysql库连接MySQL数据库

    准备工作: 1.安装Python 2.安装pymysql 3.安装MySQL,详细安装步骤 一.安装Python, 1.去官网下载可执行程序安装,官网链接 2.下载完成后运行安装程序,如下图所示,这里 ...

  8. 【Cirrodata】通过python头import导入连接行云数据库

    建立一个mainconn.py文件,通过import引入python脚本 def conn_gxdb(limit_cnt=999999999,schema_name='USER_TP_DIK',dat ...

  9. python处理teradata数据库_【Python连接数据库】Python连接Teradata数据库-ODBC方式(pyodbc包和teradata包)...

    1.安装Python (1)前置安装包查看 rpm -qa |grep -i zlib rpm-qa |grep -i bzip2rpm-qa |grep -i ncurses rpm-qa |gre ...

最新文章

  1. 阎崇年:《袁崇焕传》自序
  2. golang类型断言及检测其是否断言成功
  3. Parameter 'userName' not found. Available parameters are [1, 0, param1, param2]
  4. 以太网性能测试分析仪
  5. sqlsugar 批量删除guid类型主键_SAP使用MASS批量修改主数据
  6. matlab有限差分法编程波导_有限差分法的Matlab程序
  7. MATLAB线性规划相关函数用法
  8. 新买的联想笔记本计算机选项,联想笔记本电脑进入BIOS界面,以选择将硬盘设置为首次启动的选项...
  9. 站群软件-免费站群软件
  10. GitLab 注册 Runner Registering Runners
  11. 计算机方向键不能使用,电脑键盘中的数字按键不能用是什么原因?
  12. 转载:保护 Web 服务器的安全
  13. 手机如何测光照度_另类玩法:手机变身照度计
  14. 移动端单击图片放大缩小
  15. Linux系统Sudo命令的使用说明
  16. AE中IColor与.Net Color相互转换
  17. 2022-10-09 mysql列存储引擎-exists结果错误-问题分析
  18. 招银网络:笔试题(20190906)
  19. H5情景意识 --飞机
  20. matlab sdm,运行matlab空间计量包中的sdm_d.m,出现?Undefined function or variable 'sdm_d'.

热门文章

  1. C语言——常见的字符串函数+内存操作函数的介绍及实现
  2. 千兆路由器怎么设置网速最快_200M的网速,换成千兆路由器,我得到了什么?...
  3. 图像归一化处理 相同像素_图像处理学习笔记(九)——灰度直方图及其均衡化(理论篇)...
  4. 服务器定期巡检项目,服务器定期巡检制度..docx
  5. 微信小程序的搜索和重置功能
  6. mysql双机数据热备份_如何设置MySql数据同步实现双机热备份
  7. 三种权重的初始化方法
  8. Java数据结构和算法(六)——前缀、中缀、后缀表达式
  9. 探索 OSGi 框架的组件运行机制
  10. Chrome神器Vimium快捷键学习记录