2013-07-11 2 views
1

나는이 답변을 찾을 수 없습니다. SQL Server를 처음 사용했습니다. 나는 웹 사이트를 위해 매일 업데이트되도록 데이터베이스를 설정하려고 노력하고있다.SQL Server 테이블로 가져오고 기본 키를 시작하는 방법

매일 .CSV 파일이 생성됩니다. 파일 복사, 텍스트 편집 및 SQL Server 2012의 테이블로 파일 가져 오기 스크립트를 설정했습니다.

.CSV 파일에 16 개의 필드가 있습니다. 나는 그것을 가져 오는 테이블에 17 번째 필드를 가지고 있습니다. 17 번째 필드는 autoincrement으로 설정된 기본 키입니다.

나는 새로운 프로세스로이 구현 해요 :

내 문제는 이것이다. 이것은 이미 설정되어 있으며 이전 서버에서 작동 중입니다. 이전 서버는 MySql을 사용하고있었습니다. 기본 키는 81,720,024에서 중단되었습니다. autoincrement의 시드로 81720024이라는 기본 키 필드를 설정했습니다.

테이블을 업데이트 할 때마다 먼저 테이블을 잘라내어 스테이징 테이블에서 가져옵니다. 기본 키는 항상 81720024에서 시작합니다. 마지막 항목에서 증가시켜야합니다. 도와주세요!

+0

Jon, SQL Server에서 직접 코드를 실행할 때 문제가 없으며 pk 값이 올바르게 증가됩니다. 그러나 새로운 문제가 있습니다. 내 대본을 통해이 작업을 수행해야합니다. 이 작업을 시도하면 스크립트가 실패합니다. VBS 오류입니다 : '쿼리 제한 시간이 만료되었습니다' – Archias

+0

줄 : 25, 문자 : 1, 오류 : 쿼리 시간이 만료되었습니다. 코드 : 80040E31 여기 내 코드 조각이 있습니다 : 21 : strSQL = "DELETE FROM master.dbo [importAccounts] " 22 : conn.stringSQL 23 : strSQL ="BULK INSERT master.dbo. [importAccounts] FROM ' ": writeFile &"' "& _ 24 : WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\ n') " 25 : conn.execute strSQL – Archias

답변

1

잘라 내기 대신 테이블에서 삭제를 시도하십시오.

+0

알아 냈어. 내 'Connection String'에 대한 'CommandTimeout'속성을 늘려야했습니다. conn.CommandTimeout = 300 – Archias

관련 문제