【发布时间】:2016-11-11 03:37:41
【问题描述】:
我有一个预定义的 SQL 数据库,我们必须使用我们购买的报告软件正常工作。当我们使用报告软件提取一列数据时,我们会收到system.indexoutofrangeexception 错误。在第一张桌子上,我们替换了所有分号 ';'数据中有空格,这纠正了问题。此列数据内没有任何其他特殊字符,只有分号。
但是,我们需要查询的第二列中的数据包含所有可能无效的不同类型的字符。列类型是 ntext 并且希望每次有新条目时直接更改 sql 数据库中的数据,或者将格式更改为 nvarchar(max) 或 nvarchar(1024) 就足够了?
感谢您对我在 sql 的支持。
【问题讨论】:
-
这本身不是 SQL 异常。我认为您需要联系制作此报告软件的公司,或者以某种方式让您的问题超出此软件,从而成为实际的编程或数据库问题。你能看到正在运行的实际数据库语句(SQL Server Profiler?)或看到这个软件正在运行的代码吗?
-
我无法看到报告软件中运行的代码,但是我可以使用 SQL 服务器分析器检查数据。我已经保存了跟踪文件。它似乎继续'exec sp_cursor 18015003,40,1'。在这种情况下,最后一位数字 1 递增到 1055。
-
任何人都很难帮助您解决黑匣子问题。我会非常犹豫更改数据以适应报告工具,尤其是不知道哪些角色正在破坏工具,以及他们为什么这样做。
标签: sql sql-server sql-server-2012 nvarchar ntext