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写入操作失败

总结

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

相关文章

  • NetworkX之Prim算法(实例讲解)

    NetworkX之Prim算法(实例讲解)

    下面小编就为大家分享一篇NetworkX之Prim算法实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • python选择排序算法实例总结

    python选择排序算法实例总结

    这篇文章主要介绍了python选择排序算法,以三个实例以不同方法分析了Python实现选择排序的相关技巧,需要的朋友可以参考下
    2015-07-07
  • Anaconda(miniconda)入门使用完全指南

    Anaconda(miniconda)入门使用完全指南

    Conda是一个管理版本和Python环境的工具,它使用起来非常容易,下面这篇文章主要给大家介绍了关于Anaconda(miniconda)入门使用的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 基于Python实现语音合成小工具

    基于Python实现语音合成小工具

    TTS(Text To Speech)是一种语音合成技术,可以让机器将输入文本以语音的方式播放出来,实现机器说话的效果。本文将使用pyttsx3库作为示范,编写一个语音合成小工具,感兴趣的可以了解一下
    2022-12-12
  • Sublime Text v4.0(4143)安装方法

    Sublime Text v4.0(4143)安装方法

    这篇文章主要介绍了Sublime Text v4.0(4143)安装破解方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • python正则表达式re之compile函数解析

    python正则表达式re之compile函数解析

    这篇文章主要介绍了python正则表达式re之compile函数解析,介绍了其定义,匹配模式等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 图解Python变量与赋值

    图解Python变量与赋值

    Python是一门独特的语言,与C语言有很大区别,初学Python很多萌新表示对变量与赋值不理解,这里就大家介绍一下,需要的朋友可以参考下
    2018-04-04
  • 基于python指定包的安装路径方法

    基于python指定包的安装路径方法

    今天小编就为大家分享一篇基于python指定包的安装路径方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python3.9.1中使用split()的处理方法(推荐)

    Python3.9.1中使用split()的处理方法(推荐)

    这篇文章主要介绍了Python3.9.1中使用split()的处理方法(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python的pygame安装教程详解

    Python的pygame安装教程详解

    Pygame是跨平台Pyth,Pygame 作者是 Pete Shinners, 协议为 GNU Lesser General Public License。这篇文章主要介绍了Python的pygame安装教程,需要的朋友可以参考下
    2020-02-02

最新评论