我有两个数据表,我使用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