• ScottPletcher (7/17/2014)


    Since it's from SSMS, it's likely just a standard text file .rpt, rather than a Crystal Reports .rpt.

    I suggest using SSIS to import that data. It will of course be a fairly long process to read, interpret and load 100GB of text data.

    It is plain text although the file extension is very misleading .rpt

    I decide to take your approach and here is what I've done and what I am having issue:

    raw data (test.csv):

    326567 98 1026 11 35638468 3232282837 2259294439 2886995029 1 395 0

    281578 9 1026 11 48210209 3232282839 3247785220 2886998653 1 119 0

    Here is the format file:

    <?xml version="1.0"?>

    <BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <RECORD>

    <FIELD ID="1" xsi:type="CharFixed" LENGTH="12"/>

    <FIELD ID="2" xsi:type="CharFixed" LENGTH="12"/>

    <FIELD ID="3" xsi:type="CharFixed" LENGTH="17"/>

    <FIELD ID="4" xsi:type="CharFixed" LENGTH="12"/>

    <FIELD ID="5" xsi:type="CharFixed" LENGTH="12"/>

    <FIELD ID="6" xsi:type="CharFixed" LENGTH="21"/>

    <FIELD ID="7" xsi:type="CharFixed" LENGTH="21"/>

    <FIELD ID="8" xsi:type="CharFixed" LENGTH="21"/>

    <FIELD ID="9" xsi:type="CharFixed" LENGTH="21"/>

    <FIELD ID="10" xsi:type="CharFixed" LENGTH="21"/>

    <FIELD ID="11" xsi:type="CharFixed" LENGTH="20"/>

    <FIELD ID="12" xsi:type="CharTerm" TERMINATOR="\r"

    </RECORD>

    <ROW>

    <COLUMN SOURCE="1" NAME="Field1" xsi:type="SQLINT" LENGTH="12"/>

    <COLUMN SOURCE="2" NAME="Field2" xsi:type="SQLINT" LENGTH="12"/>

    <COLUMN SOURCE="3" NAME="Field3" xsi:type="SQLINT" LENGTH="17"/>

    <COLUMN SOURCE="4" NAME="Field4" xsi:type="SQLINT" LENGTH="12"/>

    <COLUMN SOURCE="5" NAME="Field5" xsi:type="SQLINT" LENGTH="12"/>

    <COLUMN SOURCE="6" NAME="Field6" xsi:type="SQLINT" LENGTH="21"/>

    <COLUMN SOURCE="7" NAME="Field7" xsi:type="SQLINT" LENGTH="21"/>

    <COLUMN SOURCE="8" NAME="Field8" xsi:type="SQLINT" LENGTH="21"/>

    <COLUMN SOURCE="9" NAME="Field9" xsi:type="SQLINT" LENGTH="21"/>

    <COLUMN SOURCE="10" NAME="Field10" xsi:type="SQLINT" LENGTH="21"/>

    <COLUMN SOURCE="11" NAME="Field11" xsi:type="SQLINT" LENGTH="20"/>

    </ROW>

    </BCPFORMAT>

    Here is the table's schema:

    CREATE TABLE [dbo].[LogDB](

    [ID] [int] IDENTITY(1,1) NOT NULL,

    [Field1] [int] NULL,

    [Field2] [bigint] NULL,

    [Field3] [bigint] NULL,

    [Field4] [bigint] NULL,

    [Field5] [bigint] NULL,

    [Field6] [bigint] NULL,

    [Field7] [bigint] NULL,

    [Field8] [bigint] NULL,

    [Field9] [bigint] NULL,

    [Field10] [bigint] NULL,

    [Field11] [bigint] NULL,

    CONSTRAINT [PK_LogDB] PRIMARY KEY CLUSTERED

    (

    [ID] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    ) ON [PRIMARY]

    Here is my script:

    BULK INSERT Ticket.dbo.LogDB

    FROM 'C:\temp\test.csv'

    WITH

    (

    FORMATFILE = 'C:\temp\format.xml'

    );

    It prompts me this error:

    Msg 8114, Level 16, State 5, Line 1

    Error converting data type varchar to bigint.

    How do I fix it? Thank you so much for your help.

    BTW: the original raw data file .rpt contains column names in its first line and separated line as the second line. Is there an option in Bulk input that can automatically generate the table based on the raw data file's name as well as the table's column names?