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抛出引发异常(raise)知识点总结

    Python抛出引发异常(raise)知识点总结

    在本篇文章里小编给大家整理了关于Python抛出引发异常(raise)知识点总结内容,有需要的朋友们可以学习参考下。
    2021-06-06
  • 使用 Python 查找本月的最后一天的方法汇总

    使用 Python 查找本月的最后一天的方法汇总

    这篇文章主要介绍了使用 Python 查找本月的最后一天,在本文中,我们学习了使用 datetime 和 calendar 等内置库以及 arrow 和 pandas 等第三方库在 Python 中查找月份最后一天的各种方法,需要的朋友可以参考下
    2023-05-05
  • python使用Scrapy库进行数据提取和处理的方法详解

    python使用Scrapy库进行数据提取和处理的方法详解

    在我们的初级教程中,我们介绍了如何使用Scrapy创建和运行一个简单的爬虫,在这篇文章中,我们将深入了解Scrapy的强大功能,学习如何使用Scrapy提取和处理数据
    2023-09-09
  • Python实现base64编码

    Python实现base64编码

    这篇文章介绍了Python实现base64编码的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 解决python Jupyter不能导入外部包问题

    解决python Jupyter不能导入外部包问题

    这篇文章主要介绍了解决python Jupyter不能导入外部包问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python实现文本文件合并

    python实现文本文件合并

    本文给大家汇总介绍了3种合并文本文件的方法,程序的实现思路都非常不错,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-12-12
  • python计算日期之间的放假日期

    python计算日期之间的放假日期

    这篇文章主要为大家详细介绍了python计算日期之间的放假日期,实现自动查询节日,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Python实现字典依据value排序

    Python实现字典依据value排序

    新华字典大家都使用过吧,那么使用python语言是如何实现字典排序的呢?下面跟着本教程一起学习Python实现字典依据value排序,需要的朋友参考下吧
    2016-02-02
  • Python encode()方法和decode()方法详解

    Python encode()方法和decode()方法详解

    encode() 方法为字符串类型(str)提供的方法,用于将 str 类型转换成 bytes 类型,这个过程也称为“编码”,这篇文章主要介绍了Python encode()方法和decode()方法,需要的朋友可以参考下
    2022-12-12
  • Python实现实时显示进度条的6种方法

    Python实现实时显示进度条的6种方法

    相信大家对进度条一定不陌生了,很多安装或者下载都会出现进度条,本文主要介绍了Python实现实时显示进度条的6种方法,具有一定的参考价值,感兴趣的可以了解一下
    2021-12-12

最新评论