有一个项目在做,需要使用多台SQL Server。出现的问题可以简化如下:1. 两台SQL Server A和B,其中,在A上通过Linked Server方式连接到B。2. 在Server A上,通过SQL Server的Query Analyzer执行如下SQL语句,没有问题。
UPDATE B.TESTDB.dbo.TESTTB SET T2='Y' WHERE T1=13. 创建一个Delphi程序,添加如下控件:
ADOConnection1:创建连接到A Server
ADOQuery1: 写入SQL语句:SELECT * FROM B.TESTDB.dbo.TESTTB
                          属性设置:
                                             CacheSize - 1
                                             CursorLocation - clUseClient
                                             CursorType - ctStatic
                                             LockType - ltBatchOptimistic
Datasource1:连接ADOQuery1
DBGrid1: 连接Datasource
Button1:执行如下语句
                  ADOQuery1.DisableControls;
                  ADOQuery1.UpdateBatch;
                  ADOQuery1.Close;
                  ADOQuery1.Open;
                  ADOQuery1.EnableControls;4. 运行程序,然后在DBGrid中修改任意一个数据,点击Button1保存修改时,程序报下面的错误:
Insufficient base table information for updating or refreshing.请问,是否有人遇到过同样的问题,该如何解决呢?