我们从 SQL Server 和 Sybase jdbc 驱动程序中得到什么异常,就像我们从 Oracle JDBC 驱动程序中得到什么异常一样 - 来自 rs.getLong() 的数字溢出异常

问题描述 投票:0回答:1

我有一个 Spring Boot 应用程序,在其中连接到 SQL Server、Sybase、Oracle 和 MySQL 数据库以获取元数据详细信息。在 Oracle 中使用以下代码收集表的行数时

Resultset.getlong("rowcount")
我遇到以下错误 SQL 异常 - 数字溢出。

当行计数大于长最大值时,我们会收到此错误。理想情况下,我们不想抛出异常,而是想捕获它并对其进行一些处理。

就像我们在 Oracle 中遇到带有数字溢出流的 SQL 异常一样,我们想知道 SQL Server 和 Sybase 数据库服务器会收到什么样的异常和消息。

我们无法在开发环境数据库中创建包含那么多行的表来测试它。

java jdbc sybase mssql-jdbc jconnect
1个回答
0
投票

您可以使用此创建一个具有任意数量行的虚拟

WITH SeqCTE AS (
  SELECT 1 AS Seq
  UNION ALL
  SELECT Seq + 1
  FROM SeqCTE
  WHERE Seq < @newRows -- specify the desired number of rows
)
SELECT Seq
INTO #SequentialNumbers
FROM SeqCTE;

有了这个,你应该能够尝试自己得到什么样的异常。

© www.soinside.com 2019 - 2024. All rights reserved.