首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle x64 -选择数字(9)列时获取0

Oracle x64 -选择数字(9)列时获取0
EN

Stack Overflow用户
提问于 2010-04-23 20:47:13
回答 1查看 239关注 0票数 0

对于使用ODBC连接到Oracle 10.2.0.3.0的第三方web服务,我遇到了一个非常奇怪的问题。我已经编写了一个.NET客户端,它生成与web服务相同的SQL,这样我就可以知道发生了什么。x64服务由处于x64模式的IIS6托管,因此我们使用Oracle客户端。

oracle客户端版本为10.2.0.1.0。

我有一个如下所示的表(我删除了一些列和名称):

代码语言:javascript
复制
SQL> describe tablename;

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 KOD                                                VARCHAR2(30)
 ORDNING                                            NUMBER(5)
 AVGIFT                                             NUMBER(9)

然后,我在SQL*Plus中发出以下语句:

代码语言:javascript
复制
SELECT KOD as kod, AVGIFT as riskPoang
FROM tablename Where upper(KODTYP) = 'OBJLIVSV_RISKVERKSAMTYP' ORDER BY ORDNING

我得到了以下结果:

代码语言:javascript
复制
KOD                             RISKPOANG
------------------------------ ----------
Hög risk                               55
Mellan risk                            35
Låg risk                               15
Mycket låg risk                         5

但是,当我在同一台机器上使用相同的DSN执行完全相同的SQL时,我得到的结果是:

代码语言:javascript
复制
Values
Kod: Hög risk           RiskPoäng: 0
Kod: Mellan risk        RiskPoäng: 0
Kod: Låg risk           RiskPoäng: 0
Kod: Mycket låg risk    RiskPoäng: 0

如果我先将数字转换为varchar,然后再将其转换为number,如下所示:

代码语言:javascript
复制
SELECT KOD as kod, to_number(to_char(AVGIFT, '99'), '9999999999') as riskPoang
FROM tablename Where upper(KODTYP) = 'OBJLIVSV_RISKVERKSAMTYP' ORDER BY ORDNING

我得到了正确的结果:

代码语言:javascript
复制
Values
Kod: Hög risk           RiskPoäng: 55
Kod: Mellan risk        RiskPoäng: 35
Kod: Låg risk           RiskPoäng: 15
Kod: Mycket låg risk    RiskPoäng: 5

还有谁有过这样的经历吗?这非常烦人,我完全被困住了,不知道下一步该做什么。我们有一个使用这些表的第三方web服务,所以我必须让原始的SQL语句工作,因为我不能修改它的代码。

和指针非常感谢!:-)

致以最好的问候,Mats

EN

回答 1

Stack Overflow用户

发布于 2010-04-27 15:01:21

这是一个甲骨文的漏洞。:-(

我认为这与Oracle客户端有关,但我找不到任何有关它的信息。终于在oracle论坛上找到了这个页面:http://forums.oracle.com/forums/thread.jspa?threadID=862588

该错误的编号为5128512,已在补丁级别10204中修复。

希望这能对其他人有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2698558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档