É possível isso? (RemoteDataModule)
Eu estou tentando modular uma aplicação que eu tenho onde eu passo toda os procedimentos para o RemoteDataModule e chamo através de funções.
Um dos procedimentos que eu estou tentando fazer é o seguinte:
Eu tenho uma SQLDataSet (DbExpress) ligado a um DataSetProvider dentro do meu RemoteDataModule com um consulta com vários parâmetros, eu criei um método onde eu passo os parâmetros para essa consulta que da um CLOSE passa os PARAMETROS e da um OPEN na mesma.
Na aplicação cliente eu passo os parâmetros para a minha aplicação servidora que irá passar os parâmetros para o meu SQLDataSet que irá disparar o método. Só que quando dou um OPEN dentro do RemoteDataModule aparece a seguinte mensagem :
´0x0005]: Operation Not Supported.´
Então a minha pergunta é a seguinte se é possível fazer isso que eu estou tentando? Se é como eu deveria fazer para não ocorrer o erro acima?
Um dos procedimentos que eu estou tentando fazer é o seguinte:
Eu tenho uma SQLDataSet (DbExpress) ligado a um DataSetProvider dentro do meu RemoteDataModule com um consulta com vários parâmetros, eu criei um método onde eu passo os parâmetros para essa consulta que da um CLOSE passa os PARAMETROS e da um OPEN na mesma.
Na aplicação cliente eu passo os parâmetros para a minha aplicação servidora que irá passar os parâmetros para o meu SQLDataSet que irá disparar o método. Só que quando dou um OPEN dentro do RemoteDataModule aparece a seguinte mensagem :
´0x0005]: Operation Not Supported.´
Então a minha pergunta é a seguinte se é possível fazer isso que eu estou tentando? Se é como eu deveria fazer para não ocorrer o erro acima?
Vitor Alcantara
Curtidas 0
Respostas
Paullsoftware
20/06/2007
também estou desenvolvendo uma aplicação MultCamadas com WebServices BDS2006 você poderia postar o código que está usando para que possamos melhor lhe ajudar!
GOSTEI 0
Vitor Alcantara
20/06/2007
Aqui vai um código que se encontra na aplicação Servidora aonde eu quero que as aplicações clientes tenha acesso através das funções do AppServer.
No exemplo acima eu tenho um SqlDataSet (que está ligado a um DataSetProvider) de consulta aos itens de uma saída pelo código da saída.
O que eu quero fazer é com que a aplicação cliente envie apenas o parametro ( no caso ´CODSAIDA´) e a aplicação servidora faça a consulta retornando apenas os dados para a aplicação cliente.
O ambiente na aplicação cliente é o seguinte eu tenho um ClientDataSet ligado a um TSharedConnection (Que por sua vês está conectado a um TSocketConnection) ligado ao DataSetProvider descrito acima.
Eu estou fazendo a chamada do método do seguinte modo.
{Consulta dos produtos da saída pelo código da venda}
function TClasseListSaida.DetalhaSaida(var CODSAIDA: OleVariant): OleVariant;
var
e:Exception;
begin
Try
With SQLSaidaItensCodSaida do
Begin
Close;
ParamByName(´CODSAI´).AsInteger := CODSAIDA;
Open;//Trecho onde o erro é retornado
end;
result := SQLSaidaItensCodSaida.RecordCount;
Except
on e:Exception do
begin
result := -1;
raise Exception.Create(e.Message );
end;
end;
end;No exemplo acima eu tenho um SqlDataSet (que está ligado a um DataSetProvider) de consulta aos itens de uma saída pelo código da saída.
O que eu quero fazer é com que a aplicação cliente envie apenas o parametro ( no caso ´CODSAIDA´) e a aplicação servidora faça a consulta retornando apenas os dados para a aplicação cliente.
O ambiente na aplicação cliente é o seguinte eu tenho um ClientDataSet ligado a um TSharedConnection (Que por sua vês está conectado a um TSocketConnection) ligado ao DataSetProvider descrito acima.
Eu estou fazendo a chamada do método do seguinte modo.
begin CdsDetSaida.Close;//Fecho o dataSet if SharedConnection1.AppServer.DetalhaSaida(1) > -1 then //Eu quero mostrar os itens da saída 1 CdsDetSaida.Open; //Se tudo ocorreu bem eu abro o dataset end;
GOSTEI 0
Paullsoftware
20/06/2007
Só por curiosidade existem outros Metodos sendo executados nessa sua aplicação, digo pq eu uso webservice com servidor SOAP (estou começando agora) mais uma vez aconteceu comigo algo semelhante mais era pq eu não estava abrindo e fechando a conexão com o servidor de aplicação... ele tava ficando sobrecarregado e travando, depois que comecei a fechar as conexões resouveu meu problema!
n sei se muda muito em relação ao BSS, tenta chamar o metodo sem usar paramentros pra ver se ocorre o mesmo erro! :wink:
n sei se muda muito em relação ao BSS, tenta chamar o metodo sem usar paramentros pra ver se ocorre o mesmo erro! :wink:
GOSTEI 0
Vitor Alcantara
20/06/2007
Paulo tinha sim outros métodos.
Mais eu desisti de fazer do modo que eu estava fazendo (pois me compliquei todo), e deixei nos RemoteDataModules apenas os procedimentos que não retornavam registros, tipo excluir registro, algum insert .....
A parte que retorna os registros eu estou implementando em um conjunto de datamodules onde eu estou colocando toda as regras necessárias neles, separando-os por módulos (Cadastros clientes, PDV, Listagem saida, Listagem entradas.....) onde cada módulo é um datamodule onde eu estou tentando colocar toda a regra (comportamento dos edits, calculos ....) deixando tudo pronto. Assim (se de certo eu espero) quando pronto eu vou precisar apenas desenhar os forms e linkar os controles com os módulos.
Mais eu desisti de fazer do modo que eu estava fazendo (pois me compliquei todo), e deixei nos RemoteDataModules apenas os procedimentos que não retornavam registros, tipo excluir registro, algum insert .....
A parte que retorna os registros eu estou implementando em um conjunto de datamodules onde eu estou colocando toda as regras necessárias neles, separando-os por módulos (Cadastros clientes, PDV, Listagem saida, Listagem entradas.....) onde cada módulo é um datamodule onde eu estou tentando colocar toda a regra (comportamento dos edits, calculos ....) deixando tudo pronto. Assim (se de certo eu espero) quando pronto eu vou precisar apenas desenhar os forms e linkar os controles com os módulos.
GOSTEI 0
Brunolspp
20/06/2007
Pessoal
no meu link de dopwnloads gratuitos, tem o exemplo do borcon 2006 que implementa como exemplo, uma miniatura de meus sistemas de missao critica e multuicamadas com funcoes remotas e tudo mais que é necessário.
Vale a pena olhar
no meu link de dopwnloads gratuitos, tem o exemplo do borcon 2006 que implementa como exemplo, uma miniatura de meus sistemas de missao critica e multuicamadas com funcoes remotas e tudo mais que é necessário.
Vale a pena olhar
GOSTEI 0
Vitor Alcantara
20/06/2007
Muito obrigado Bruno vou dar uma examinada.
GOSTEI 0