我有一个需要迁移到 sql server 的 Oracle 表(版本 8i),其中一列是 NUMBER 数据类型。在其中,它具有如下值:
--1331013400000000000000000000
--1331017903617177360300000000
--1331012863048235233700000000
除其他外
0.9574875526618150
2.51572327044025
-- 看起来像存储在数字列中的实际值。我不明白破折号的用途或它们的含义,但是,当我尝试通过 ssma 迁移数据时,我得到“无法将字符串值放入浮点数”,因此很明显 sql server 在这种情况下绊倒了,因为我愿意。
我确信我可以找到一种方法来处理这些奇怪的数据,我只是想知道这到底是什么意思以及它的用途,我在 Google 上搜索过,但令人惊讶的是空手而归。有人有任何线索吗?
转储 1016:
0.2722718362012630 Typ=2 Len=9: c0,1c,17,48,54,3f,2,1b,1f
--1331013400000000000000000000 Typ=2 Len=4: 32,ea,0,43
0.50761421319797 Typ=2 Len=8: c0,33,4d,f,16,20,62,62
1 Typ=2 Len=2: c1,2
0.9574875526618150 Typ=2 Len=9: c0,60,4b,58,38,1b,3e,52,33
1.11894371713103 Typ=2 Len=9: c1,2,c,5a,2c,48,48,20,4
2.51572327044025 Typ=2 Len=9: c1,3,34,3a,18,1c,5,29,1a
0.0537258905066351 Typ=2 Len=9: c0,6,26,1a,5a,6,7,40,34
0.1851303317535540 Typ=2 Len=9: c0,13,34,1f,22,12,36,38,29
0.0000000000000000000000000000306386 Typ=2 Len=4: b2,1f,40,57
1.6164 Typ=2 Len=4: c1,2,3e,41
0.1289839930864580 Typ=2 Len=9: c0,d,5a,54,64,1f,57,2e,51
0.004721435316336170 Typ=2 Len=9: bf,30,16,2c,36,11,22,3e,47
--1331017903617177360300000000 Typ=2 Len=10: 32,ea,0,16,62,28,1e,18,41,62
--1331012863048235233700000000 Typ=2 Len=10: 32,ea,0,49,26,61,13,42,4e,40
--1331010715609612880500000000 Typ=2 Len=10: 32,ea,0,5e,56,29,5,59,d,60
0.0778391842453491 Typ=2 Len=9: c0,8,4f,28,13,2b,2e,23,5c
--1331010187793684447000000000 Typ=2 Len=10: 32,ea,0,64,e,16,41,11,39,1f
0.8296 Typ=2 Len=3: c0,53,61
--1331015225486314961400000000 Typ=2 Len=10: 32,ea,0,31,4c,35,26,57,5,57
--1331016035469906437500000000 Typ=2 Len=10: 32,ea,0,29,42,37,2,5f,3a,1a
0.3301637612255680 Typ=2 Len=9: c0,22,2,40,4d,d,1a,39,51
0.2666453350398630 Typ=2 Len=9: c0,1b,43,2e,22,33,28,57,1f
0.1581527755812110 Typ=2 Len=9: c0,10,52,35,4e,38,52,16,b
0.8089305937550560 Typ=2 Len=9: c0,51,5a,1f,3c,26,38,6,3d
--1331015006297067350000000000 Typ=2 Len=9: 32,ea,0,33,5f,48,1f,22,42
0.3745318352059930 Typ=2 Len=9: c0,26,2e,20,54,35,6,64,1f
--1331017625157985988000000000 Typ=2 Len=10: 32,ea,0,19,4c,56,16,10,3,15
更新:
这是统计计算库中的一个错误。在某些情况下,返回 Doubles 的函数在计算 sdev 时使用 sqrt 会生成 NaN 值。准备好的语句构造中使用的 Oracle 驱动程序 (oracle14.zip) 不会验证数据,而是发送和写入原始字节,这最终导致了损坏。有趣的是,当我尝试在 prep 语句中设置一个 NaN 值时,MS SQL Server 驱动程序不允许我进行准备语句并引发异常。将其发布为“仅供参考”...