客户端与应用服务器端的连接问题(10分)

  • 主题发起人 主题发起人 chigo
  • 开始时间 开始时间
C

chigo

Unregistered / Unconfirmed
GUEST, unregistred user!
我在应用服务器端定义了databasename:mydata,使用odbc连接oracle数据库,rdm里面使用
datasetprovider,query,datasourse,database这几个控件,运行并注册了应用服务器;在客户端,
我准备用dcomconnection来连接应用服务器端,使用本地服务器,然后指定了servername,但是,
连接时提示错误:unknown username or password。microsoft odbc for oracle oracle
ora01017:invalid username/password;logon denied alias:mydata。 谁能告诉我是那儿错了?
 
把几个控件的属性设置贴出来看一下
 
测试环境:windows2000 server,oracle9i,delphi7。
1。建立odbc数据源,[microsoft odbc for oracle],数据源名称:myoracle,用户名称:scott,服务器:chigo 。
2。新建一个application,然后再建一个remote data module,Coclass name 为test,加入控件database,aliasname为myoracle,
databasename为dataserver,设置handleshared为true,然后把connected属性设为true,用scott/tiger登陆,连接数据库成功;
3。加入query,datasetprovider,设置checkquery:databasename :dataserver,Sql语句:select * from popedom
popedom为oracle数据库scott方案下的一个表,checkquery连接成功,
4。把datasetprovider的dataset设为checkquery,然后保存工程为testserver,并运行一遍应用服务器;
5。新增加一个application,添加控件clientdataset,dcomconnection,datasource,dbgrid,
1) 设置dcomconnection,computername为127.0.0.1,servername为testserver.Test,并获得了serverguid,
2) 把connected设为true,他就报错:unknown user name or password.[microsoft][odbc driver for oracle]
[oracle] ora-01017 :invalid username/password;logon denied alias:dataserver。
 
我已经解决了连接问题,但是,数据提交的时候,数据库里面竟然没有数据?!怎么回事?
提交数据只要clientdataset.applyupdates(0)把?难道还有其他什么来的?
提示错误:operation not applicable。谁能告诉我是什么原因啊?
 
clientdataset.applyupdates(1)试试
 
还是不行。
 
修改,插入必须用clientdataset的方法,也就是说插入的时候必须用clientdataset1.insert,不能用DBNavigator控件
 
还是没有起效。
在客户端,我使用dbedit框来填写数据,通过source连接到clientdataset,
然后在添加事件:
begin
with DataModule1.CheckedClientdo
begin
Active := True;
ApplyUpdates(0);
end;
CheckedForm.CheckSource.dataset.insert;
end;
error事件:
ShowMessage(e.Context);
ShowMessage(e.Message);
然后就是运行提交的时候,先返回一个空的框,条横上写的是midass~1,
OK后再跳出一个框,内容为operation not applicable。条横上写的是midass~1。
然后如果用:
begin
with DataModule1.CheckedClientdo
begin
Active := True;
Insert;
end;
end;
或者:
begin
with DataModule1.CheckedClientdo
begin
Insert;
Active := True;
ApplyUpdates(0);
end;
end;
还是一样的错误。这到底是怎么回事啊?
 
谁知道这个问题的答案??救命啊!!
 
你这样写全了试试?
begin
DataModule1.CheckedClient.Insert;
DataModule1.CheckedClient.Active := True;
DataModule1.CheckedClient.ApplyUpdates(1);
end;
 
还是不行。:(
 
后退
顶部