Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过wsdl传入最大大小为2^256的数字_Java_Oracle_Wsdl - Fatal编程技术网

Java 通过wsdl传入最大大小为2^256的数字

Java 通过wsdl传入最大大小为2^256的数字,java,oracle,wsdl,Java,Oracle,Wsdl,我们目前有一个wsdl元素,它被定义为只要正在传递的数字可以有一个2^64的最大值。但是现在客户端希望传入最大值为2^256的数字。在我看来,支持这一点的唯一方法是将xsd类型更改为字符串。任何人都有更好的处理方法 java代码还需要处理这个问题并将其持久化到DB中。 除了使用字符串对象之外,我没有其他选择。 我的想法正确吗?这个值代表什么?你到底用它做什么?你要求它保持什么样的准确度 虽然甲骨文不会抱怨被给予了一个非常大的数字,但它只能存储38的精度/刻度。由于power(2256)约为1.1

我们目前有一个wsdl元素,它被定义为只要正在传递的数字可以有一个2^64的最大值。但是现在客户端希望传入最大值为2^256的数字。在我看来,支持这一点的唯一方法是将xsd类型更改为字符串。任何人都有更好的处理方法

java代码还需要处理这个问题并将其持久化到DB中。 除了使用字符串对象之外,我没有其他选择。
我的想法正确吗?

这个值代表什么?你到底用它做什么?你要求它保持什么样的准确度

虽然甲骨文不会抱怨被给予了一个非常大的数字,但它只能存储38的精度/刻度。由于power(2256)约为1.15E+77,因此甲骨文数字不一定能准确地保存该值


假设确实需要准确地保留它(例如某种加密密钥),我会使用字符串。

将您的一些问题标记为已回答可能会说服其他人考虑/回答您未来的问题。考虑字符串的大小与二进制数字的大小相比,这可以在高负载下计算,或者在互联网连接速度较慢的设备中使用(例如2G GSM网络)…正确。在某些情况下,您可以使用完整值的散列。谢谢!Gary对于你的答案,你也很了解oracle位。oracle将存储几乎所有的数字,但精度将限制为38。因此,我想我必须将列更改为VARCHAR。因为这是一个加密密钥,需要准确保留