![]() |
1
13
我可以使用SS2014、OLEDB驱动程序和 Seattle和使用MAX作为列大小和特定数字(在我的例子中是4096)创建表时的行为差异。我想我会把这作为一种选择 答案是因为它不仅显示了如何系统地研究这种差异 但也可以识别 为什么? 出现这种差异(以及如何在将来避免这种差异)。
请参考并执行以下编写的代码,即
在执行代码之前,立即在项目选项中启用“使用调试DCU”
显示所述异常发生在
属于
接下来,请注意
在SSMS2014查询窗口中执行,无投诉(
首先要注意的是,表单的标题正在显示
接下来,注释掉
这就是原因:使用特定的数字作为列大小意味着
RTL检索到的表元数据导致客户端
OTOH,指定MAX时,生成的客户端
简而言之,每当您尝试将TMemoField的值设置为空字符串时,实际发生的情况是字段的状态设置为Null,这就是导致q.AFAICS中出现异常的原因。这是不可避免的,因此对我来说,没有明显的解决方法。
我还没有调查
QED。请注意,这种系统化的调试方法揭示了 问题(&A);只需很少的努力和零尝试和错误 我在q上的评论中试图提出的建议。 另一点是,这个问题完全可以在没有 求助于服务器端工具,包括SMSS探查器。不需要使用探查器来检查客户端发送到服务器的内容 因为没有理由假设服务器返回的错误 不正确。这证实了我所说的从客户端开始调查。
此外,使用动态创建的表,使用
密码
|
![]() |
2
2
使用时出现问题
|
![]() |
Kenzo_Gilead · 如何读取一个表并在另一个表中插入不同的值 7 年前 |
![]() |
syed mohsin · SQL Server上周从sun到sat 7 年前 |
![]() |
mistaq · SQL Server-两边都有条件的条件左连接 7 年前 |
![]() |
Haminteu · 从行号SQL获取ID 7 年前 |
![]() |
shami sheikh · 以表的形式获取多个Select查询值 7 年前 |