2 명의 외부 당사자가 데이터를 업데이트 할 수있는 데이터베이스가 있습니다. 해당 당사자 각각은 준비 테이블에 BULK INSERTED 파이프 구분 텍스트 파일을 보냅니다. 이제는 몇 가지 열을 추가하여 당사자 중 하나의 스키마를 변경하려고하지만, 불행히도 새 열이 모두 NULLABLE로 추가 되더라도 상대방에 대한 BULK INSERT가 손상됩니다.SQL Server 다른 스키마에서 대량 삽입
여기에 분명한 해결책이 있습니까?
테이블 스키마 :
CREATE TABLE [dbo].[CUSTOMER_ENTRY_LOAD](
[CARD_NUMBER] [varchar](12) NULL,
[TITLE] [varchar](6) NULL,
[LAST_NAME] [varchar](34) NULL,
[FIRST_NAME] [varchar](40) NULL,
[MIDDLE_NAME] [varchar](40) NULL,
[NAME_ON_CARD] [varchar](26) NULL,
[H_ADDRESS_PREFIX] [varchar](50) NULL,
[H_FLAT_NUMBER] [varchar](5) NULL,
[H_STREET_NUMBER] [varchar](10) NULL,
[H_STREET_NUMBER_SUFFIX] [varchar](5) NULL,
[H_STREET] [varchar](50) NULL,
[H_SUBURB] [varchar](50) NULL,
[H_CITY] [varchar](50) NULL,
[H_POSTCODE] [varchar](4) NULL,
[P_ADDRESS_PREFIX] [varchar](50) NULL,
[P_FLAT_NUMBER] [varchar](5) NULL,
[P_STREET_NUMBER] [varchar](10) NULL,
[P_STREET_NUMBER_SUFFIX] [varchar](5) NULL,
[P_STREET] [varchar](50) NULL,
[P_SUBURB] [varchar](50) NULL,
[P_CITY] [varchar](50) NULL,
[P_POSTCODE] [varchar](4) NULL,
[H_STD] [varchar](3) NULL,
[H_PHONE] [varchar](7) NULL,
[C_STD] [varchar](3) NULL,
[C_PHONE] [varchar](10) NULL,
[W_STD] [varchar](3) NULL,
[W_PHONE] [varchar](7) NULL,
[W_EXTN] [varchar](5) NULL,
[DOB] [smalldatetime] NULL,
[EMAIL] [varchar](50) NULL,
[DNS_STATUS] [bit] NULL,
[DNS_EMAIL] [bit] NULL,
[CREDITCARD] [char](1) NULL,
[PRIMVISACUSTID] [int] NULL,
[PREFERREDNAME] [varchar](100) NULL,
[STAFF_NUMBER] [varchar](50) NULL,
[CUSTOMER_ID] [int] NULL,
[IS_ADDRESS_VALIDATED] [varchar](50) NULL
) ON [PRIMARY]
BULK INSERT 문 :
SET @string_temp = 'BULK INSERT customer_entry_load FROM '+char(39)[email protected]
[email protected]_file+'.txt'+char(39)+' WITH (FIELDTERMINATOR = '+char(39)+'|'+char(39)
+', MAXERRORS=1000, ROWTERMINATOR = '+char(39)+'\n'+char(39)+')'
SET DATEFORMAT dmy
EXEC(@string_temp)
안녕하세요, 답장을 보내 주셔서 감사합니다. 어떤 상황에서는 대상이 소스보다 많은 열을 가지고 있고 일부에서는 그렇지 않기 때문에 형식 파일을 사용하는 것이 도움이되었는지 확신하지 못했습니다. 1 BULK INSERT 문을 사용하여이 작업을 수행 할 수있는 방법이 있는지 궁금합니다. SQL Server 버전은 2008 R2 – jazza1000