【发布时间】:2018-05-09 12:19:32
【问题描述】:
如何使用java将数据插入MS-SQL的一列超过8000个字符并带有换行符?
我有一个来自 psinfo 的软件列表 - 使用 StringBuilder 对 arraylist 进行排序并将其转换为字符串,并将 \n 替换为 "' + CHAR(13)+CHAR(10) + '"
我可以在没有CHAR 10 和CHAR 13 的情况下插入大约 15000 个字符的所有文本,但我不能用新行插入它,它只能插入大约 8000 个字符。
你知道问题出在哪里吗?
我有现场软件作为 VARCHAR(MAX)
我有这样的声明:
stmt.executeUpdate(... "',software= CAST('" + software + "' AS varchar(MAX))...);
【问题讨论】:
-
为什么不离开它\n? :) 它应该可以工作
-
这看起来像是一个非参数化查询 - 你能确认一下吗?
-
您应该使用 PreparedStatement。不要传递嵌入在 SQL 字符串中的文字
-
它从 sysinternals 输出 psinfo,所以数字,字母,任何东西 - VARCHAR... 是否可以像“preparedStatement.setString(X,”my 15 000 chars softwarestring with CHAR10 and CHAR 13 作为换行符");" ?
标签: java sql sql-server