积极答复者
关于SqlBulkCopy批量复制结果差异问题

问题
-
现场测量数据,每次需传递数千笔采样点到数据库,采用SqlBulkCopy来发送,但发送后源表与目的表存在数据差异,请问是何原因如何解决,谢谢了
程序如下:
// 數據批量導入sqlserver SqlBulkCopy sqlbulk = new SqlBulkCopy(strCon, SqlBulkCopyOptions.UseInternalTransaction); sqlbulk.SqlRowsCopied += new SqlRowsCopiedEventHandler(OnRowsCopied); sqlbulk.NotifyAfter = srcTable.Rows.Count; sqlbulk.DestinationTableName = "StdTemplate"; // 數據集字段索引與數據庫字段索引映射 //sqlbulk.ColumnMappings.Add("ID", "ID"); // 若源表與目標表完全一致亦可忽略映射 //sqlbulk.ColumnMappings.Add("Station", "Station"); // 建立映射關係時一定注意大小寫要一致 //sqlbulk.ColumnMappings.Add("ItemID", "ItemID"); //sqlbulk.ColumnMappings.Add("X", "X"); //sqlbulk.ColumnMappings.Add("Y", "Y"); //sqlbulk.ColumnMappings.Add("Y_Min", "Y_Min"); //sqlbulk.ColumnMappings.Add("Y_Max", "Y_Max"); //sqlbulk.ColumnMappings.Add("UpdTime", "UpdTime"); sqlbulk.WriteToServer(srcTable); //導入 sqlbulk.Close();
源表(DataSet):
guid int string float float float float datetime ID Station ItemID X Y X_Mim X_Max UpdTime 66743ebb-1e54-450e-a100-0a7aa9adacb1 1 3 0 0 0 29.66696 2014/8/25 下午 07:19:17 360be30d-43e7-419c-88ac-834de8446810 1 3 0.1 0 0 29.66696 2014/8/25 下午 07:19:23 35c45e27-aa21-46c7-b7c7-5064c907a563 1 3 0.2 0 0 22.39258 2014/8/25 下午 07:19:39 19eecd71-3817-4d30-bb03-7348382c58fa 1 3 0.3 0 0 22.39258 2014/8/25 下午 07:19:39 abbe7df2-219b-4e48-a574-2dbc426d6d57 1 3 0.4 0 0 22.39258 2014/8/25 下午 07:19:39 719ca1c3-ad36-4788-bc7c-7f4c35f2d9dd 1 3 0.5 0 0 21.59505 2014/8/25 下午 07:19:39 7090b973-90ae-4a82-ba46-d007d4df5d84 1 3 0.6 0 0 21.59505 2014/8/25 下午 07:19:39 dabddecc-43ed-41ba-a06f-60002d26bd89 1 3 0.7 0 0 21.59505 2014/8/25 下午 07:19:39 734177cd-1f6e-488b-a175-9d9857b59d0c 1 3 0.8 0 0 22.12674 2014/8/25 下午 07:19:39 cbcbaba8-0b7f-42f8-96f3-11d04842e43d 1 3 0.9 0 0 22.12674 2014/8/25 下午 07:19:39 73a4e861-d1ee-42cf-9011-1b9f7389163d 1 3 1 0 0 22.12674 2014/8/25 下午 07:19:39 18b8e049-adf5-48be-8a3f-0b7f89547e3c 1 3 1.1 0 0 21.41618 2014/8/25 下午 07:19:39 eb437509-7679-4190-b7fe-3e19657ecc52 1 3 1.2 0 0 21.41618 2014/8/25 下午 07:19:39 1ab6b965-652c-4b4d-90f4-69b17e24bd04 1 3 1.3 0 0 21.2406 2014/8/25 下午 07:19:39 a26e3325-4800-4068-9630-61e84a4f8098 1 3 1.4 0 0 21.2406 2014/8/25 下午 07:19:39 f7d8d3a0-ee86-4987-9c05-ffc5323ad6bb 1 3 1.5 0 0 21.55348 2014/8/25 下午 07:19:39 96e1edb2-99d0-4b03-adba-420c91ec41b2 1 3 1.6 0 0 21.55348 2014/8/25 下午 07:19:39 ddcff5ab-daec-4c3e-9262-2b06ea9445f8 1 3 1.7 0 0 21.91997 2014/8/25 下午 07:19:40 ded84678-f556-4b41-ab85-3e978d22045c 1 3 1.8 0 0 21.91997 2014/8/25 下午 07:19:40 0108cd41-88eb-4762-93e4-ca3cc779e9a9 1 3 1.9 0 0 21.91997 2014/8/25 下午 07:19:40 18a94a77-ca00-4eb9-a57c-091484be0bb6 1 3 2 0 0 21.78741 2014/8/25 下午 07:19:40 46d628f0-6074-4ef0-b9d9-8e0fb6d4be6d 1 3 2.1 0 0 21.78741 2014/8/25 下午 07:19:40 3e131847-a47d-4c5e-b172-4493364ed1df 1 3 2.2 0 0 21.78741 2014/8/25 下午 07:19:40 4459283c-0f1b-41c8-8e66-0360d81d716d 1 3 2.3 0 0 21.41782 2014/8/25 下午 07:19:40 841a00ab-51f7-48af-9b56-5d29601dd8bd 1 3 2.4 0 0 21.41782 2014/8/25 下午 07:19:40 657a1118-460a-41e0-9b14-9b4e6210f2fc 1 3 2.5 0 0 21.41782 2014/8/25 下午 07:19:40 f1b44df5-c25b-4efc-8537-e3808dd10b5a 1 3 2.6 0 0 21.78869 2014/8/25 下午 07:19:40 987cd529-4f74-456e-bd33-d4727f972390 1 3 2.7 0 0 21.78869 2014/8/25 下午 07:19:40 4bd12226-bc29-4ba3-abc0-2e27b7e7460f 1 3 2.8 0 0 21.78869 2014/8/25 下午 07:19:40 c2013c71-15bb-462e-aa0c-c2022fbca0fb 1 3 2.9 0 0 21.76454 2014/8/25 下午 07:19:40 5a2b0736-973d-44e9-988d-c1ff8bcbe495 1 3 3 0 0 21.76454 2014/8/25 下午 07:19:40 目的表(SQL Server)内容:
GUID INT CHAR NUM(6,1) NUM(10,2) NUM(10,2) NUM(10,2) DATETIME ID Station ItemID X Y X_Mim X_Max UpdTime 66743EBB-1E54-450E-A100-0A7AA9ADACB1 1 3 0 0 0 29.66 19:17.5 360BE30D-43E7-419C-88AC-834DE8446810 1 3 0.1 0 0 29.66 19:23.8 35C45E27-AA21-46C7-B7C7-5064C907A563 1 3 0.2 0 0 22.39 19:39.3 19EECD71-3817-4D30-BB03-7348382C58FA 1 3 0.3 0 0 22.39 19:39.3 ABBE7DF2-219B-4E48-A574-2DBC426D6D57 1 3 0.4 0 0 22.39 19:39.4 719CA1C3-AD36-4788-BC7C-7F4C35F2D9DD 1 3 0.5 0 0 21.59 19:39.4 DABDDECC-43ED-41BA-A06F-60002D26BD89 1 3 0.6 0 0 21.59 19:39.5 7090B973-90AE-4A82-BA46-D007D4DF5D84 1 3 0.6 0 0 21.59 19:39.5 CBCBABA8-0B7F-42F8-96F3-11D04842E43D 1 3 0.8 0 0 22.12 19:39.6 734177CD-1F6E-488B-A175-9D9857B59D0C 1 3 0.8 0 0 22.12 19:39.6 73A4E861-D1EE-42CF-9011-1B9F7389163D 1 3 1 0 0 22.12 19:39.7 18B8E049-ADF5-48BE-8A3F-0B7F89547E3C 1 3 1.1 0 0 21.41 19:39.7 EB437509-7679-4190-B7FE-3E19657ECC52 1 3 1.2 0 0 21.41 19:39.8 1AB6B965-652C-4B4D-90F4-69B17E24BD04 1 3 1.2 0 0 21.24 19:39.8 A26E3325-4800-4068-9630-61E84A4F8098 1 3 1.3 0 0 21.24 19:39.9 F7D8D3A0-EE86-4987-9C05-FFC5323AD6BB 1 3 1.5 0 0 21.55 19:39.9 96E1EDB2-99D0-4B03-ADBA-420C91EC41B2 1 3 1.6 0 0 21.55 19:40.0 DED84678-F556-4B41-AB85-3E978D22045C 1 3 1.7 0 0 21.91 19:40.1 DDCFF5AB-DAEC-4C3E-9262-2B06EA9445F8 1 3 1.7 0 0 21.91 19:40.0 0108CD41-88EB-4762-93E4-CA3CC779E9A9 1 3 1.8 0 0 21.91 19:40.1 18A94A77-CA00-4EB9-A57C-091484BE0BB6 1 3 2 0 0 21.78 19:40.1 46D628F0-6074-4EF0-B9D9-8E0FB6D4BE6D 1 3 2 0 0 21.78 19:40.2 4459283C-0F1B-41C8-8E66-0360D81D716D 1 3 2.2 0 0 21.41 19:40.3 3E131847-A47D-4C5E-B172-4493364ED1DF 1 3 2.2 0 0 21.78 19:40.2 841A00AB-51F7-48AF-9B56-5D29601DD8BD 1 3 2.4 0 0 21.41 19:40.4 657A1118-460A-41E0-9B14-9B4E6210F2FC 1 3 2.5 0 0 21.41 19:40.5 F1B44DF5-C25B-4EFC-8537-E3808DD10B5A 1 3 2.5 0 0 21.78 19:40.6 987CD529-4F74-456E-BD33-D4727F972390 1 3 2.7 0 0 21.78 19:40.6 4BD12226-BC29-4BA3-ABC0-2E27B7E7460F 1 3 2.7 0 0 21.78 19:40.7 C2013C71-15BB-462E-AA0C-C2022FBCA0FB 1 3 2.9 0 0 21.76 19:40.8 主要问题在写入SQL Server后,Y字段内容不正确,请各位老师指教,谢谢
- 已编辑 markihuo 2014年8月25日 13:40
答案
-
精度问题,将 DataSet float类型改为decimal后正常...
marki
- 已标记为答案 CaillenModerator 2014年8月26日 2:32