Datasnap Delphi XE5 服务器端动态 sql
Datasnap Delphi XE5 Server side dynamic sql
我在 delphi Xe5 中遇到了 datasnap 的小问题。
我需要在服务器端运行动态查询。我在服务器方法上使用 ADO 连接。
服务器程序:
var
qryNew: TADOQuery;
dspNew: TDatasetProvider;
begin
qryNew := TADOQuery.Create(nil);
qryNew.Connection := Adoconnection1;
qryNew.SQL.Text := SQL;
qryNew.Name := 'qry'+IntToStr(1);
dspNew := TDatasetProvider.Create(nil);
dspNew.Name := 'dsp'+IntToStr(1);
dspNew.Dataset := qryNew;
qryNew.Open;
Result := dspNew.Name;
end;
客户端程序:
ClientDataset1.ProviderName :=clientmodule3.ServerMethods1Client.GetDataForClient('Select top 10 * from ODBC.trans_day_2009_1111;');
在主窗体上,我有一个 SQLconnection、DSProvider 连接和一个客户端数据集。当我尝试使用上述代码为客户端设置提供商名称时,出现错误 "Remote error: Provider not exported : DSP1"
通常(并非总是),如果您花时间理解错误消息,它们会很有帮助。如果它说提供程序未导出,您应该检查它为什么不导出 - 即文档说:
"To enable the remote data module to pass calls to the provider, the provider's Exported property must be True, and its Owner property must specify the remote data module."
http://docwiki.embarcadero.com/Libraries/XE5/en/Datasnap.Provider.TDataSetProvider
您的提供商没有所有者。
我在 delphi Xe5 中遇到了 datasnap 的小问题。
我需要在服务器端运行动态查询。我在服务器方法上使用 ADO 连接。
服务器程序:
var
qryNew: TADOQuery;
dspNew: TDatasetProvider;
begin
qryNew := TADOQuery.Create(nil);
qryNew.Connection := Adoconnection1;
qryNew.SQL.Text := SQL;
qryNew.Name := 'qry'+IntToStr(1);
dspNew := TDatasetProvider.Create(nil);
dspNew.Name := 'dsp'+IntToStr(1);
dspNew.Dataset := qryNew;
qryNew.Open;
Result := dspNew.Name;
end;
客户端程序:
ClientDataset1.ProviderName :=clientmodule3.ServerMethods1Client.GetDataForClient('Select top 10 * from ODBC.trans_day_2009_1111;');
在主窗体上,我有一个 SQLconnection、DSProvider 连接和一个客户端数据集。当我尝试使用上述代码为客户端设置提供商名称时,出现错误 "Remote error: Provider not exported : DSP1"
通常(并非总是),如果您花时间理解错误消息,它们会很有帮助。如果它说提供程序未导出,您应该检查它为什么不导出 - 即文档说:
"To enable the remote data module to pass calls to the provider, the provider's Exported property must be True, and its Owner property must specify the remote data module."
http://docwiki.embarcadero.com/Libraries/XE5/en/Datasnap.Provider.TDataSetProvider
您的提供商没有所有者。