我试图使用存储过程将JSON格式的长字符串(即#jsonLayoutProperties#
)插入到MS SQL Server表中。字符串可能很长,例如10,000个字符+。我应该在存储过程中使用哪个cfsqltype
? cf_sql_longvarchar
似乎是唯一的选择,似乎没有cfsqltype
映射到nvarchar(max)
。
我得到的错误如下。看来字符串被截断了。任何帮助都会非常受欢迎。
错误:
执行数据库查询时出错。
[Macromedia] [SQLServer JDBC驱动程序] [SQLServer]未闭合的引号 在字符串之后。
CFSTOREDPROC:
<cfstoredproc datasource="docs" procedure="UpdateLayout">
<cfprocparam cfsqltype="cf_sql_varchar" type="in" value="#Session.Userdata['ID']#"> <!--- @AccountID --->
<cfprocparam cfsqltype="cf_sql_integer" type="in" value="#ObjectID#"> <!--- @ObjectID --->
<cfprocparam cfsqltype="cf_sql_longvarchar" type="in" value="#jsonLayoutProperties#"> <!--- @Properties --->
<cfprocparam cfsqltype="cf_sql_varchar" type="in" value="0"> <!--- @Revision --->
<cfprocparam cfsqltype="cf_sql_integer" type="in" value="#Session.Userdata['ID']#"> <!--- @UpdatedID --->
<cfprocparam cfsqltype="cf_sql_integer" type="inout" value="0" variable="LayoutID"> <!--- @ID --->
</cfstoredproc>
答案 0 :(得分:0)
这可能不是类型问题。
Unclosed quotation mark after the character string.
对我来说意味着你的字符串中可以有未转义的引号。你能看看吗?