Linux下使用python脚本执行BCP导入导出方式

 更新时间:2024年01月29日 16:09:18   作者:我是李超人  
这篇文章主要介绍了Linux下使用python脚本执行BCP导入导出方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

使用python脚本执行BCP导入导出

创建一张表Test001

create table Test001(
ID int,
age int,
name varchar(50)
)

再创建一张表Test002

create table Test002(
Id int,
age int,
name varchar(50),
addr varchar(50)
)

插入三条数据

insert into Test002 values(1,25,'Bob','New York')
insert into Test002 values(2,22,'Mary','HongKong')
insert into Test002 values(3,25,'David','London')

Python脚本

#!/usr/bin/env python
#coding=utf-8

import pymssql
import subprocess

class testBcp:

    def getConn(self):
        server = "192.168.1.1"
        user= "sa"
        password = "testBcp@1"
        db = "TESTBCP"
        # 打开数据库连接
        conn = pymssql.connect(server,user,password,db)
        return conn

    def BCPExe(self,bcpString):
        conn = self.getConn()
        # 使用cursor()方法获取操作游标
        cursor = conn.cursor()
        result_code = subprocess.call(bcpString, shell=True)
        print(result_code)

if __name__=="__main__":
    tB=testBcp()
    BCPout="bcp 'select ID,age,name from TESTBCP.dbo.Test002' queryout tempData.csv -c -U sa -P testBcp@1 -S 192.168.1.1"
    BCPin='bcp TESTBCP.dbo.Test001 in tempData.csv -c -U sa -P testBcp@1 -S 192.168.1.1'
    #select ID,age,name from TESTBCP.dbo.Test002 使用sql语句查询出结果集写入tempData.csv文件中
    tB.BCPExe(BCPout)
    #将文件中的数据写入表test001中
    tB.BCPExe(BCPin)

以上python脚本首先从test002中将数据查询出来,将结果集使用BCP写入tempData.csv文件中,然后再使用BCP将文件中的数据写入表test001中。

此时可以看到test001中现在已经有数据了。

注意:

如果文件中的数据源是来自于多个渠道

那么在拼接字符串的时候切记每个字段要使用’\t’隔开

否则会由于文件中数据格式不正确导致BCP写入操作失败

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python pathlib模块使用方法及实例解析

    Python pathlib模块使用方法及实例解析

    这篇文章主要介绍了Python pathlib模块使用方法及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • python方向键控制上下左右代码

    python方向键控制上下左右代码

    这篇文章主要介绍了python方向键控制上下左右代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 一篇文章带你了解谷歌这些大厂是怎么写 python 代码的

    一篇文章带你了解谷歌这些大厂是怎么写 python 代码的

    这篇文章主要介绍了谷歌这些大厂怎么写python代码,我们写代码,往往还是按照其它语言的思维习惯来写,那样的写法不仅运行速度慢,代码读起来也费尽,给人一种拖泥带水的感觉,需要的朋友可以参考下
    2021-09-09
  • 详解Python3操作Mongodb简明易懂教程

    详解Python3操作Mongodb简明易懂教程

    本篇文章主要介绍了详解Python3操作Mongodb简明易懂教程,详细的介绍了如何连接数据库和对数据库的操作,有需要的可以了解一下。
    2017-05-05
  • selenium中get_cookies()和add_cookie()的用法详解

    selenium中get_cookies()和add_cookie()的用法详解

    这篇文章主要介绍了selenium中get_cookies()和add_cookie()的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python Web后端开发中的增查改删处理

    Python Web后端开发中的增查改删处理

    这篇文章主要介绍了Python Web后端开发中的增查改删处理,文章围绕主题 展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Python中实现变量赋值传递时的引用和拷贝方法

    Python中实现变量赋值传递时的引用和拷贝方法

    下面小编就为大家分享一篇Python中实现变量赋值传递时的引用和拷贝方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python实现八大排序算法(2)

    python实现八大排序算法(2)

    这篇文章主要为大家详细介绍了python实现八大排序算法的第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • CentOS中使用virtualenv搭建python3环境

    CentOS中使用virtualenv搭建python3环境

    virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题。下面我们来详细探讨下centos中如何来搭建。
    2015-06-06
  • 在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程

    在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程

    这篇文章主要介绍了在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08

最新评论