2017-11-22 4 views
0

텍스트 파일의 데이터를 bcp가있는 계산 열이있는 SQL Server 2016 테이블에 삽입하려고합니다.SQL Server : 대량 계산 열이있는 테이블에 삽입

내 BCP 명령을

bcp Test.dbo.myFirstImport IN D:\myFirstImport.txt -f D:\myFirstImport.xml –T 

내 테이블 :

CREATE TABLE [dbo].[MyFirstImport](
     [PersonID] [smallint] NULL, 
     [FirstName] [varchar](25) NULL, 
     [LastName] [varchar](30) NULL, 
     [BirthDate] [date] NOT NULL, 
     [YearMonthCom] AS (datepart(year,[BirthDate])*(100)+datepart(month,[BirthDate])) PERSISTED 
) ON [PRIMARY] 

내 데이터 (탭 구분) :

1 Anthony Grosse  1980-02-23 
2 Alica  Fatnowna 1963-11-14 
3 Stella Rosenhain 1992-03-02 

내 서식 파일 :

<?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="CharTerm" TERMINATOR="\t" MAX_LENGTH="7"/> 
 
    <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="25" COLLATION="SQL_Latin1_General_CP1_CI_AS"/> 
 
    <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="30" COLLATION="SQL_Latin1_General_CP1_CI_AS"/> 
 
    <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="11"/> 
 
    <!-- 
 
    <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="11"/> 
 
    <FIELD ID="5" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="12"/> 
 
    --> 
 
</RECORD> 
 
<ROW> 
 
    <COLUMN SOURCE="1" NAME="PersonID" xsi:type="SQLSMALLINT"/> 
 
    <COLUMN SOURCE="2" NAME="FirstName" xsi:type="SQLVARYCHAR"/> 
 
    <COLUMN SOURCE="3" NAME="LastName" xsi:type="SQLVARYCHAR"/> 
 
    <COLUMN SOURCE="4" NAME="BirthDate" xsi:type="SQLDATE"/> 
 
    <!-- 
 
    <COLUMN SOURCE="5" NAME="YearMonthCom" xsi:type="SQLINT"/> 
 
    --> 
 
</ROW> 
 
</BCPFORMAT>

내 오류

SQLSTATE = 37000, NativeError = 1934 오류 = [마이크로 소프트] [ODBC SQL Server 용 드라이버 (11)] [SQL 서버] 대해서는 2 BEI INSERT, 다 다이 folgenden의 SET - 선택 매장 정보 : "QUOTED_IDENTIFIER". Überprüfen 아세요, 산부인과는 대 Verwendung의 MIT의 indizierte Sicht 싶게/오 데르 Indizes 대 berechnete Spalten 싶게/오 데르의 gefilterte Indizes 싶게/오 데르 엔 Abfragebenachrichtigungen 싶게/오 데르의 XML-Datentypmethoden 싶게/오 데르 Vorgänge에 대 한 RA umliche Indizes richtig 신드을 다이 Optionen 다이 세트 . "QUOTED_IDENTIFIER를"실패

그리고 영어

에서

INSERT에서 BCP 사본은 다음 SET 옵션 잘못된 설정을 가지고 있기 때문에 실패했습니다. SET 옵션이 계산 된 열 및/또는 필터링 된 인덱스 및/또는 쿼리 알림 및/또는 XML 데이터 형식 메서드 및/또는 공간 인덱스 작업에서 인덱싱 된 뷰 및/또는 인덱스와 함께 사용하기에 적합한 지 확인합니다.

+0

QUOTED_IDENTIFIER을 (를) OFF로 설정하여 BCP에 오류를 일으킬 수있는 테이블을 만든 것 같습니다. [here] (https://stackoverflow.com/questions/40487060/insert-failed-because-the-following-set-options-have-incorrect-settings-quoted)와 같이 -q 옵션을 사용해보십시오. –

답변

0

계산 된 열과 bcp가없는 다른 테이블이 계산 된 열의 문제인지 확인했습니다. 그런 다음 QUOTED_IDENTIFIER가 ON으로 설정된 테이블 (계산 열 포함)을 다시 만들었습니다. Jacob의 의견을 참조하십시오. 여전히 작동하지 않았습니다. 그러나 -q와 함께 bcp를 시작했을 때 효과적이었습니다. 고마워요, 제이콥!

관련 문제