python连接sqlserver处理image字段

环境:

  • python3.7
  • SQL SERVER数据库

一、需求描述:

第一种:数据库存储文件

sqlserver数据库中有image字段类型用于存放二进制文件:

该字段用于存放文件或者图片的二进制数据,现需要将该字段数据迁移至oracle数据库中,对应字段为:

第二种:数据库存储大文本

sql server中有nvarchar(max)字段存放大段文本描述:

现需要将该字段数据迁移至oracle数据库中,对应字段为:

 这里主要针对第一种情况,数据库中image字段存放的是某种特定后缀文件(例如:.doc文件、.png文件)的二进制数据,可以通过python读取该字段的二进制文件,并写入文件,保存为相同后缀,即可打开查看文件内容。

二、pip安装pymssql模块

下载链接: https://www.lfd.uci.edu/~gohlke/pythonlibs/

下载上图圈出来的那个,在cmd下安装:

 三、编写python脚本

# -*- coding :utf-8  -*-
import pymssql
  
serverName = '数据库IP地址'
userName='数据库登录名称'
password='密码'
i=0
conn = pymssql.connect(serverName,userName,password,"数据库名称")
cursor = conn.cursor()
cursor.execute('select top 5 data from 表名')
#迭代cursor变量,row变量存放一条记录
for row in cursor :
    try:
        #以二进制写的形式打开文件,不存在则创建该文件
        f=open(str(i) + '.doc', 'wb')
        #将二进制数据写入文件
        f.write(row[0])
        print ('文件' + str(i) + '.doc' + '写入成功!')
    except Exception as e:
        print ('文件' + str(i) + '.doc'+'写入失败!')
    #关闭
    f.close()
    i=i+1

发布了45 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_41327283/article/details/103669712