美文网首页
bcp & bulk insert

bcp & bulk insert

作者: 鲸鱼酱375 | 来源:发表于2019-08-27 21:59 被阅读0次

    1.BCP and Bulk Insert

    1.1 What are Bulk Operations?

    • Bulk operations are statements in which you move and insert a large amount of data
    • No requirement for being “bulk”, just summed up as a lot
    • Bulk operations can move data in and out of SQL or other platforms

    1.2 Bulk Copy Program

    • BCP uses the CMD of the system, so it is command line driven

    • Since it uses the CMD, it is avoiding any GUI or software, making it the fastest way for communication between DBMS and RDBMS

    • BCP allows you to either pull data from SQL server or move data into SQL server from system files

    • Operation type OUT/IN/QUERYOUT/FORMAT

    • OUT, IN, FORMAT options needs a table or view

    • QUERYOUT option needs a SQL query and it has to use 3 part naming convention

    bulk
    BCP "SELECT TOP 100 BusinessEntityID, FirstName, LastName FROM AdventureWorks2017.Person.Person" QUERYOUT C:\cmd\Per.txt -c -T
    

    1.1.2 操作符号 都要在一行里面写出来!!!!!

    1.1.2.1 Data to a file from a table using OUT option

    -T Trusted connection
    -c Character data type for the output file

    BCP AdventureWorks2012.HumanResources.Employee OUT C:\BulkOps\Emp.txt -c -T 
    
    BCP "SELECT TOP 100 BusinessEntityID, FirstName, LastName 
    FROM AdventureWorks2012.Person.Person" QUERYOUT C:\BulkOps\Per.txt -c -T -t,
    
    BCP AdventureWorks2012.dbo.Per IN C:\Raj\BulkOps\Per.txt -c -T -t,
    

    1.1.2.2 Creating a comma separated file using OUT option

    -t specifying there is a column terminator or delimiter followed by delimiter value

    -t, --in this case -t specifies there is a delimiter for column and (,) is the delimiter
    
    BCP AdventureWorks2012.HumanResources.Employee OUT C:\OPFiles\Emp.txt -c -T -t, 
    

    1.1.2.3 Creating a file using OUT option and error out put to another file

    -e specifies that there is an error file followed by path for error file

    BCP AdventureWorks2012.HumanResources.Employee OUT 
    C:\OPFiles\Emp.txt -c -T -e C:\OPFiles\ErrorFile.txt
    

    1.1.2.4 Creating a file using QUERYOUT option

    
    BCP SELECT top 1000 FirstName, LastName from 
    AdventureWorks2012.Person.Person QUERYOUT C:\BulkOps\Person.txt -c -T
    

    others:

    --File Location to be copied
    --Data format -c/-N/-n/-w (-c Character, -N Unicode Native, -n Native, -w Unicode)
    --Field Terminator -t
    --Server info -S
    --Login info -T/-U
    --Hints ORDER, FIRETRIGGERS
    --Ignore Identity Column values -E
    --Batch Size -b value
    --First Row start -F value
    --Last Row -L value
    --Error File -e File Path

    1.3 Bulk Insert

    • Bulk Insert is executed in SQL server and used in a query
    • Can only INSERT data into SQL, so only one direction with bulk data
    • Since being used in queries, it can be logged, use transactions, etc
    • Slower than Bulk Copy Program
    bulk insert bulk_op
    from 'c:\bulk_op\empinfo.txt'
    

    1.4 Differences Between BCP & BI

    diff

    1.4.1 bulk insert

    • SQL Server Query
    • Import data only
    • Can be logged
    • Can be used with transactions and error handling
    • Slower due to use of software

    1.4.2 bcp

    • Command Line Utility for the system, CMD
    • Can import and export data from SQL server to system files
    • No direct option for performing error handling, logging, or transactions
    • Faster of the two

    1.5 note

    BCP AdventureWorks2012.HumanResources.Employee IN C:\Users\admin\Desktop\BulkOps\Employee.dat -c -t, -S localhost -T -h FIRE_TRIGGERS -E -b 100 -F 25 -e C:\Users\admin\Desktop\BulkOps\ErrorFile.txt
    
    BCP AdventureWorks2012.dbo.Emp IN C:\Users\admin\Desktop\BulkOps\Employee.dat -c -t, -S localhost -T -h FIRE_TRIGGERS
    
    BCP "SELECT P.BusinessEntityID, P.FirstName, P.LastName, E.BirthDate, E.MaritalStatus, E.Gender FROM AdventureWorks2012.Person.Person P JOIN AdventureWorks2012.HumanResources.Employee E ON E.BusinessEntityID = P.BusinessEntityID" QUERYOUT C:\Users\admin\Desktop\BulkOps\Emp_QO.txt -N -t, -T
    
    BCP AdventureWorks2012.Person.Person OUT C:\Users\admin\Desktop\BulkOps\Employee.dat -c -t, -S localhost -T -h ORDER(FirstName)
    
    --CSV, XLT, DAT, FMT, TXT
    

    相关文章

      网友评论

          本文标题:bcp & bulk insert

          本文链接:https://www.haomeiwen.com/subject/binyectx.html