Csv 파일 압축을 임포트합니다 SQL Server

나는 '.csv' 파일 압축을 사용하여 SQL Server 임포트하려면 찾고 도움말에서는 '와' 불크 삽입하십시오 나는 몇 가지 기본 질문을합니다.

  • Issues:*
  1. Csv 파일 데이터 가질 수 있는 ',' (쉼표) 사이에 있는 (예: 그래서 내가 만들 수 있는 방법은 가져오기의 취급료 설명) 이 데이터?

  2. Csv 는 다음 데이터를 Excel 에서 클라이언트가 있다 ',' (큰따옴표), 쉼표 있는 컨텐트에서 &quot &quot [같은 아래 예] 그래서 가져오기의 어떻게 해결할 수 있습니다.

  3. 일부 잘못된 데이터를 가지고 있는 경우 어떻게 추적되도록 행뿐만 가져오기의 생략할지? (높여줍니까 가져오기의 생략할지 행뿐만 수입할 수 없는)

다음은 샘플링합니다 CSV 가 제목:

Name,Class,Subject,ExamDate,Mark,Description
Prabhat,4,Math,2/10/2013,25,Test data for prabhat.
Murari,5,Science,2/11/2013,24,"Test data for his's test, where we can test 2nd ROW, Test."
sanjay,4,Science,,25,Test Only.

및 SQL 문을 가져오기할:

BULK INSERT SchoolsTemp
FROM 'C:\CSVData\Schools.csv'
WITH
(
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    TABLOCK
)
해결책

Sql 서버 기반 CSV 가져오기의

&gt. 1) CSV 파일 데이터 가질 수 있는 ',' (쉼표) 사이에 있는 (예: &gt. 그래서 내가 만들 수 있는 방법은 가져오기의 취급료 설명) 이 데이터?

  • 솔루션 *

39 you& 사용하는 경우, re (쉼표) ',' 쉼표 구분 기호로 관심용 구별할 방법이 없다, 쉼표 터미네이터입니다 필드로 고객의 데이터. 내가 'like' '다른' 필드테르미나토르 사용하게 된다. 쉼표, 완벽하게 처리할 수 있으며, 이 두 개의 슬래시 (slash) 코드 참고하십시오.

&gt. 2) 가 있는 다음 데이터를 excel 에서 만듭다 클라이언트입니다 csv &gt. 쉼표 '&quot 컨텐트에서 있다. . &quot ' (큰따옴표) [아래에 있다. &gt. 예] 그래서 가져오기의 어떻게 해결할 수 있습니다.

  • 솔루션 *

39, re you& 경우 다음 큰따옴표, 데이터는 불크 삽입하십시오 사용하여 처리할 수 있는 방법은 없습니다

함께 삽입됨 큰따옴표 salesforce. 행뿐만. & # 39 로 데이터를 삽입 후 교체하여 함께, '# 39 표, '& 큰따옴표 수 있습니다.

update table
set columnhavingdoublequotes = replace(columnhavingdoublequotes,'"','')

&gt. 3) 일부 잘못된 데이터를 가지고 있는 경우 어떻게 추적되도록 행뿐만 가져오기의 생략할지? &gt. (높여줍니까 가져오기의 생략할지 않은 행뿐만 수입할 수 있는)?

  • 솔루션 *

39 표, 잘못된 데이터를 처리할 수 있는 행뿐만 aren& 급지된 또는 형식 때문에 할 수 없다.

1, [에르러피레 속성] 처리하십니까 사용하여 파일 이름, 기록하십시오 행뿐만 오류 지정할 방침이다. 이 중 오류가 절실해졌습니다. 같은 코드를 살펴봐야 한다.

BULK INSERT SchoolsTemp
    FROM 'C:\CSVData\Schools.csv'
    WITH
    (
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    ERRORFILE = 'C:\CSVDATA\SchoolsErrorRows.csv',
    TABLOCK
    )
해설 (5)

먼저 만들어야 하는 CSV 파일 데이터베이스의 테이블이 있는 임포트하지 될 수 있습니다. 이 테이블은 만든 후, 다음 단계에 따라.

•로그인하십시오 SQL Server Management Studio 를 사용하여 데이터베이스

•데이터베이스에 대한 선택하고 마우스 오른쪽 단추로 클릭하고 &gt '작업 -; 데이터를 임포트합니다. '

•'다음' 버튼을 눌러 &gt.

•'원본' 에 대한 데이터 소스, 플랫 파일 선택. 찾아보기버튼을 사용할 수 있도록 CSV 파일 선택. 시간을 어떻게 운영까지도 데이터를 가져올 수 있는 규모로 configuring ',' 버튼을 누르기 전에 다음 &gt.

•선택, 대상에 대한 올바른 데이터베이스 공급자입니다 (예를 들어 SQL Server 2012년 에서 사용할 수 있는 SQL Server 네이티브 클라이언트 11.0). 서버 이름을 입력합니다. '인증' 라디오 단추를 사용하여 SQL Server 확인합니다. 사용자 이름, 비밀번호 입력 ',' 버튼을 클릭하면, 그리고데이터베이스 전에 다음 &gt.

•소스 선택 창이 있는 테이블 및 보기 전에 ',' 버튼을 누르면 다음 &gt 매핑이라는 편집할 수 있습니다.

•'확인', '다음' 버튼을 클릭한 후 즉시 실행하십시오 확인란 &gt.

•'마침' 버튼을 클릭하면 실행하십시오 숨겨요.

위의 발견었습니다 여기있을 웹 사이트 (사용한 it 및 테스트되었습니다):

해설 (4)

&gt. 2) 가 있는 다음 데이터를 excel 에서 만듭다 클라이언트입니다 csv &gt. 쉼표 컨텐트에서 &quot 있다. . &quot. [tpc. 아래 (큰따옴표) &gt. 예] 그래서 가져오기의 어떻게 해결할 수 있습니다.

39, & # 39, CSV& 콩지름에 형식 =, = & # 39, & # 39 필드크로트 "; 옵션:

BULK INSERT SchoolsTemp
FROM 'C:\CSVData\Schools.csv'
WITH
(
    FORMAT = 'CSV', 
    FIELDQUOTE = '"',
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    TABLOCK
)
해설 (1)

가장 쉽고 빠른 데이터 문제는, 쉼표 해결하십시오 엑셀 파일을 사용하도록 저장하라는 쉼표로 구분된 거쳐 설정되었습니다 Windows& # 39. 목록 이외의 seperator 설정을 쉼표 (파이프 등). 그런 다음 다시 가져올 수 있는 파일 당신꺼에요 분판된 발령합니다 파이프 (또는 있는모든). 이는 설명됨 here.

해설 (0)

전나무 CSV 파일 압축을 데이터표 가져와야 합니다.

그런 다음 불크 행뿐만 삽입하십시오 스크루불가코프 사용하여

using System;
using System.Data;
using System.Data.SqlClient;

namespace SqlBulkInsertExample
{
    class Program
    {
      static void Main(string[] args)
        {
            DataTable prodSalesData = new DataTable("ProductSalesData");

            // Create Column 1: SaleDate
            DataColumn dateColumn = new DataColumn();
            dateColumn.DataType = Type.GetType("System.DateTime");
            dateColumn.ColumnName = "SaleDate";

            // Create Column 2: ProductName
            DataColumn productNameColumn = new DataColumn();
            productNameColumn.ColumnName = "ProductName";

            // Create Column 3: TotalSales
            DataColumn totalSalesColumn = new DataColumn();
            totalSalesColumn.DataType = Type.GetType("System.Int32");
            totalSalesColumn.ColumnName = "TotalSales";

            // Add the columns to the ProductSalesData DataTable
            prodSalesData.Columns.Add(dateColumn);
            prodSalesData.Columns.Add(productNameColumn);
            prodSalesData.Columns.Add(totalSalesColumn);

            // Let's populate the datatable with our stats.
            // You can add as many rows as you want here!

            // Create a new row
            DataRow dailyProductSalesRow = prodSalesData.NewRow();
            dailyProductSalesRow["SaleDate"] = DateTime.Now.Date;
            dailyProductSalesRow["ProductName"] = "Nike";
            dailyProductSalesRow["TotalSales"] = 10;

            // Add the row to the ProductSalesData DataTable
            prodSalesData.Rows.Add(dailyProductSalesRow);

            // Copy the DataTable to SQL Server using SqlBulkCopy
            using (SqlConnection dbConnection = new SqlConnection("Data Source=ProductHost;Initial Catalog=dbProduct;Integrated Security=SSPI;Connection Timeout=60;Min Pool Size=2;Max Pool Size=20;"))
            {
                dbConnection.Open();
                using (SqlBulkCopy s = new SqlBulkCopy(dbConnection))
                {
                    s.DestinationTableName = prodSalesData.TableName;

                    foreach (var column in prodSalesData.Columns)
                        s.ColumnMappings.Add(column.ToString(), column.ToString());

                    s.WriteToServer(prodSalesData);
                }
            }
        }
    }
}
해설 (1)

39 의 here& 나라면 어떻게 해결할 수 있다.

  1. 그냥 먹이좀 CSV 파일로 XLS 시트마다 excel 에서 (이렇게 하면, t # 39 wouldn& 데이미티에 걱정할 필요가 없다. Excel& # 39 의 형식은 검토완료 스프레드시트에는 테이블로 직접 그리고 가져오기한 SQL 표)

  2. 임포트하십시오 ssi 사용하여 파일을

  3. 사용자 정의 스크립트입니다 가져오기의 manager 를 쓰기 / 수정하십시오 # 39 의 데이터 you& 생략하십시오, re 보았으매 .용 (또는 실행하십시오 데이터를 면밀히 정의마스터 스크립트입니다 you& 보았으매 지루려면 # 39, re)

행운을 빕니다.

해설 (4)

Sql 가져오기의 마법사에서는 사용하지 않기 때문에, 이 단계를 약간만이라도 다음과 같습니다.

enter 이미지 여기에 설명을!

  1. , 데이터를 가져올 수 있는 데이터베이스 작업을 옵션에만 마우스 오른쪽 단추로 클릭합니다.

한 번 마법사에는 구하사 데이터 유형을 선택합니다. 열려 2 스크램블된 묵시적. 이 경우 이 될 것입니다.

&gt. 플랫 파일 소스

우리는 CSV 파일 선택, CSV 테이블의 데이터 유형을 구성할 수 있습니다, 하지만 CSV 에서 가져다 줄 것이 좋습니다.

  1. 이는 지난 옵션을 선택한 후 다음을 클릭합니다.

&gt. SQL 클라이언트입니다.

우리는 우리의 유형에 따라 인증 재설정했으면 옵션을 선택하고, 매우 중요한 것이다.

  1. 우리는 id 를 정의할 수 있는 표를 CSV (것이 열을 동일합니까 CSV 호출해야 필드에 표). 우리가 볼 수 있는 옵션을 매핑이라는 편집하십시오 미리본 각 테이블에 있는 열 (스프레드시트에는 삽입하려면 id 를 기본적으로 우리는 우리가 원하는 경우 마법사에는 남겨두십시오 옵션을 선택하지 않은.

&gt. 삽입하십시오 활성화하십시오 id

(보통 1 에서 시작하는), 대신 우리는 함께 열 경우 CSV 를 선택하겠습니다 id, id 에 활성화하십시오 삽입하십시오 다음 단계로 종료하십시오 마법사입니다 검토하겠습니다 변경 사항.

반면 올 수도 있다) 는 다음과 같은 창이 경고 또는 오류 , 개의경고 무시하려면 이 이상적인 경우에만 그 관심을 남겨두십시오 필요가 있다.

이 링크는 이미지.

해설 (0)

Excel 엑셀 파일 압축을 임포트하십시오 먼저 가고, 수입 개방 후 데이터를 보존할 수 있는 0 값, 저장, csv 확장명은 TXT 파일 선택 때문에 그 열을 excel 에서 주요 텍스트로 접두사에 드롭합니다 그렇지 않으면 0 (DO NOT 더블 클릭하여 개방 Excel 로 시작하는 경우 데이터 필드에서 숫자 0 (zero]). 그럼 그냥 아웃해야 탭으로 구분 텍스트 파일을 저장할 수 있다. 다른 이름으로 저장 수 있는 옵션이 확보하십시오 excel 로 가져올 때 일반, 텍스트, etc. 의견 중 선택할 수 있도록 텍스트 필드에 문자열으로 유르콤파니, LLC 와 같은 소장돼 있다.

BULK INSERT dbo.YourTableName
FROM 'C:\Users\Steve\Downloads\yourfiletoIMPORT.txt'
WITH (
FirstRow = 2, (if skipping a header row)
FIELDTERMINATOR = '\t',
ROWTERMINATOR   = '\n'
)

기능을 사용할 수 있었으면 좋겠다 포맷하여 필드크로트 나타나지 않은 ssm 지원할 수 있지만 내 버전니다.

해설 (0)

그래도 내가 원하는 답을 알고 있는지 수락됨 공유할 수 있는 고객의 문제를 해결하기 위해 내 책정안 아마도 누군가를 도와라

  • 툴과도 *
  • ASP.NET
  • EF 첫 번째 코드 외곽진입
  • Ssm
  • EXCEL
  • 책정안 * 난 # 39 의 CSV 형식으로 수 있는 which& 데이터세트를 로드 뷰 (view) 은 나중에 나온

    39 의 노력했다고 하지만 I& 불크 사용할 수 있다 '는' 불크 로드형 로드하십시오 사용하여 로드할 수 없습니다.

FIELDTERMINATOR = ','

또한 그는 ',' 와 Excel 셀입니다 사용하여 하지만 난 또 couldn& # 39, t '와' 원본 '사용' 플랫 파일 있었기 때문에 그렇게 할 수 있는 모델을 사용하여 직접 첫 번째 코드 외곽진입 ssm 적은 수만 없는 속성을 사용하여 데이터베이스 (db), 나중에 내가 모델 중에서 했다.

  • 솔루션 *
  1. 내가 예전에는 소스, 브라운아저씨의 단층 파일 DB 식탁을 CSV 파일 ( 마우스 오른쪽 단추로 클릭하고 DB ssm &gt -; 플랫 파일 - 임포트합니다 &gt. csv 선택 경로 및 모든 설정을 실행하십시오 지시에 따라 )
  2. 비주얼 스튜디오에서 만든 모델 클래스용 (유지해야 합니다 같은 CSV 파일 이름 있는 모든 데이터 형식 및 급지된 sql)
  3. '패키지' 를 사용하여 추가 마이그레이션과 누제 콘솔이군요
  4. 업데이트 DB
해설 (0)