DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: luismasgoret
今日帖子: 40
在线用户: 10
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 xabbs (xabbs) ★☆☆☆☆ -
普通会员
2023/9/1 23:50:53
标题:
存储过程的参数是nvarchar(max),delphi调用时候,参数长了就被截断了。 浏览:775
加入我的收藏
楼主: 存储过程的输入参数是nvarchar(max)类型,用于传递超长的json数据,delphi通过存储过程调用的时候,参数的类型设置成ftwidestring类型。  赋值后直接把字符串的一大部分截断了。

测了一下,我的字符串长76Kb。

请问这有什么好的思路没
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
普通会员
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
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/9/2 2:02:28
2楼: 存储过程处理一个巨长的 JSON,我不是很理解。

莫非处理 JSON 也是数据库的功能了?

关系数据库的本质,不是通过各个字段之间的关系,对字段进行搜索么?

我的思路就是:不要把超长 JSON 的处理,放到数据库里面去。

非常复杂的业务逻辑,最好不要用数据库来处理,而应该是 DELPHI 的代码,或者你用 C# 也好 PHP 也好 JAVA 也好,用这些代码来处理。

要不什么活都让数据库干了,还要这些语言里面整一大堆数据库的操作库甚至还要把数据库 MAP 成对象的框架来干嘛?
----------------------------------------------
-
作者:
男 hz_2009 (盒子) ★☆☆☆☆ -
普通会员
2023/9/2 8:01:40
3楼: Memo
----------------------------------------------
-
作者:
男 xabbs (xabbs) ★☆☆☆☆ -
普通会员
2023/9/2 8:09:15
4楼: 搞明白了,要用stringlist

数量太大,减少交互,一个json就够了
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
普通会员
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!
此帖子包含附件:
PNG 图像
大小:88.8K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
作者:
男 doersoft (hnysoft.com) ★☆☆☆☆ -
普通会员
2023/9/2 16:25:41
6楼: 较高版本的mysql有JSON类型了~~~
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
作者:
男 wg961423 (麦子仲肥) ★☆☆☆☆ -
盒子活跃会员
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文档。
----------------------------------------------
-
作者:
男 bluestorm8 (bluestorm) ▲▲△△△ -
普通会员
2023/9/7 9:13:59
8楼: FDStoredProc1.ParamByName['JSonData'].AsWideMemo := 'JSON Data....'
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行93.75毫秒 RSS