我有一个(非常简单和标准的) UPDATE语句,它可以直接在Query Analyser中运行,也可以在Query Analyser中作为存储过程执行。
UPDATE A
SET
A.field1 = B.col1
, A.field2 = B.col2
FROM
tblA AS A INNER JOIN tblB AS B
ON A.pk1 = B.pk1 AND A.pk2 = B.pk2问题是,当我通过microsoft ADP执行相同的存储过程时(通过双击存储过程名称或使用Run选项),它显示"query Run successfully,但没有返回记录“,并且当我直接检查表时,没有更新记录。
在任何人说“MS-Access的语法与ADP SQL不同”之前,请记住,在SQLServer中,所有的事情都发生在服务器上,其中一个实际上是传递给T-SQL。
有没有来自ADP专家的好主意?
发布于 2009-08-19 04:44:50
抓住你了。为了其他人的利益回答我自己的问题。
工具/选项/高级/客户端-服务器设置/默认最大记录数设置为10,000 (假设这是默认值)。将此值更改为0表示无限制。
我的表有100,000+行,很难找到它正在更新的10,000行(在90,000+未更新的行的海洋中)。因此,更新并没有像预期的那样完全工作。
发布于 2009-08-19 02:25:02
尝试查看是否使用SQL事件探查器在SQL Server上执行查询。
此外,我认为您可能需要关闭链接表,然后重新打开它才能看到更新的记录。
这行得通吗?
发布于 2009-08-19 03:24:11
在运行SQL PRofiler的情况下运行查询。在开始跟踪之前,添加所有错误事件。这将显示SQL Server生成的任何错误,表明Access ADP可能无法正确显示(或根本不显示)。
请随时在这里张贴。
https://stackoverflow.com/questions/1297418
复制相似问题