导航:
论坛 -> 数据库专区
斑竹:liumazi,waterstone
作者:
xabbs (xabbs)
★☆☆☆☆
-
普通会员
2023/9/1 23:50:53
标题:
存储过程的参数是nvarchar(max),delphi调用时候,参数长了就被截断了。
浏览:775
加入我的收藏
楼主:
存储过程的输入参数是nvarchar(max)类型,用于传递超长的json数据,delphi通过存储过程调用的时候,参数的类型设置成ftwidestring类型。 赋值后直接把字符串的一大部分截断了。 测了一下,我的字符串长76Kb。 请问这有什么好的思路没
----------------------------------------------
-
作者:
2023/9/2 0:45:25
1楼:
What the field limit to accept a value string ? <--- important note in Delphi, if using FireDAC, try use "MAP options" to maps your field to accept a type desired, or try use FDQuery1_FieldWithLongString.AsWideString := 'xxxx';
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
作者:
2023/9/2 2:02:28
2楼:
存储过程处理一个巨长的 JSON,我不是很理解。 莫非处理 JSON 也是数据库的功能了? 关系数据库的本质,不是通过各个字段之间的关系,对字段进行搜索么? 我的思路就是:不要把超长 JSON 的处理,放到数据库里面去。 非常复杂的业务逻辑,最好不要用数据库来处理,而应该是 DELPHI 的代码,或者你用 C# 也好 PHP 也好 JAVA 也好,用这些代码来处理。 要不什么活都让数据库干了,还要这些语言里面整一大堆数据库的操作库甚至还要把数据库 MAP 成对象的框架来干嘛?
----------------------------------------------
-
作者:
2023/9/2 8:01:40
3楼:
Memo
----------------------------------------------
-
作者:
xabbs (xabbs)
★☆☆☆☆
-
普通会员
2023/9/2 8:09:15
4楼:
搞明白了,要用stringlist 数量太大,减少交互,一个json就够了
----------------------------------------------
-
作者:
2023/9/2 9:56:49
5楼:
I did the test with Firebird 4.02 + BLOB field type "Text" 1) insert...INTO...Tb....(xxField) values ( :ParamXXX ) 2) FireDAC_QryXXXX....Param...By...Name...XXXXXX....AsString = 37.888.896 chars 3) ExecSQL Summary: 1) in my table I have a BLOB (type Text) with 37.888.896 chars 2) none error, none lost!
此帖子包含附件: 大小: 88.8K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
作者:
2023/9/2 16:25:41
6楼:
较高版本的mysql有JSON类型了~~~
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
作者:
2023/9/7 8:56:40
7楼:
MySQL:从5.7.8版本开始,MySQL支持JSON数据类型,可以存储和操作JSON文档。 PostgreSQL:从9.2版本开始,PostgreSQL支持JSON数据类型,可以存储和验证JSON文档。从9.4版本开始,PostgreSQL支持JSONB数据类型,可以存储二进制格式的JSON文档,并提供更高效的索引和操作功能。 Oracle:从12c版本开始,Oracle支持JSON数据类型,可以存储和查询JSON文档。 SQL Server:从2016版本开始,SQL Server支持将JSON文档存储在NVARCHAR列中,并提供了一些函数和运算符来解析和修改JSON文档。
----------------------------------------------
-
作者:
2023/9/7 9:13:59
8楼:
FDStoredProc1.ParamByName['JSonData'].AsWideMemo := 'JSON Data....'
----------------------------------------------
-