我有兩個數據表,我使用SqlBulkCopy
插入數據表到SQL服務器被鏈接
這裏插入SQL服務器2008年,他們分別是:
QuickLabDump = new DataTable();
QuickLabDump.Columns.Add("Specimen ID", typeof(string));
QuickLabDump.Columns.Add("Client Key", typeof(int));
QuickLabDump.Columns.Add("Outcome", typeof(string));
QuickLabDump.Columns.Add("Medications", typeof(string));
QuickLabDump.Columns.Add("Date Collected", typeof(DateTime));
QuickLabDump.Columns.Add("Time Collected", typeof(TimeSpan));
QuickLabDump.Columns.Add("Date Entered", typeof(DateTime));
QuickLabDump.Columns.Add("Time Entered", typeof(TimeSpan));
QuickLabDump.Columns.Add("Date Completed", typeof(DateTime));
QuickLabDump.Columns.Add("Time Completed", typeof(TimeSpan));
QuickLabDump.Columns.Add("Test Date", typeof(DateTime));
QuickLabDump.Columns.Add("Test Time", typeof(TimeSpan));
QuickLabDump.Columns.Add("Practice Name", typeof(string));
QuickLabDump.Columns.Add("Practice Code", typeof(string));
QuickLabDump.Columns.Add("Client ID", typeof(string));
QuickLabDump.Columns.Add("Requesting Physician", typeof(string));
QuickLabDump.Columns.Add("Other Medications", typeof(string));
QuickLabDump.Columns.Add("Order Comments", typeof(string));
QuickLabDump.Columns.Add("Reference Number", typeof(string));
QuickLabDump.Columns.Add("Order Count", typeof(int));
TestResults = new DataTable();
TestResults.Columns.Add("TestName", typeof(String));
TestResults.Columns.Add("Result", typeof(Decimal));
TestResults.Columns.Add("NonNumericResult", typeof(String));
TestResults.Columns.Add("QuickLabDumpid", typeof(int));
在數據庫上,他們是:
[Specimen ID] [varchar](50) NOT NULL,
[Client Key] [int] NOT NULL,
[Outcome] [varchar](50) NOT NULL,
[Medications] [varchar](max) NULL,
[Date Collected] [date] NOT NULL,
[Time Collected] [time](0) NOT NULL,
[Date Entered] [date] NOT NULL,
[Time Entered] [time](0) NOT NULL,
[Date Completed] [date] NOT NULL,
[Time Completed] [time](0) NOT NULL,
[Test Date] [date] NULL,
[Test Time] [time](0) NULL,
[Practice Name] [varchar](500) NOT NULL,
[Practice Code] [varchar](500) NOT NULL,
[Client ID] [varchar](500) NULL,
[Requesting Physician] [varchar](500) NULL,
[Other Medications] [varchar](max) NULL,
[Order Comments] [varchar](max) NULL,
[Reference Number] [varchar](500) NULL,
[Order Count] [int] NOT NULL,
[QuickLabDumpID] [int] IDENTITY(1,1) NOT NULL,
and
[TestName] [varchar](500) NOT NULL,
[Result] [decimal](18, 4) NULL,
[NonNumericResult] [varchar](100) NULL,
[QuickLabDumpID] [int] NOT NULL,
[TestResultsID] [int] IDENTITY(1,1) NOT NULL,
[QuickLabDumpID] [int] IDENTITY(1,1) NOT NULL
這一個是自動增量。每插入一行,它都會增加。它也是另一張表上同一列的外鍵。
問題我沒有問題插入記錄到任何表;但是,我需要保持參照完整性,以便第一張桌上的QuickLabDumpID
與另一張桌上的QuickLabDumpID
相匹配。
我不想使用@@identity
因爲我插入1億行,這將需要幾天!我試過了。
大家請讓我知道,如果你不明白我的問題:)我將重新說明 – 2011-12-27 21:03:39