真的有那么难吗?一天快过去了,难道真的要去问李维?一个奇怪的问题?关于MTS (200分)

  • 主题发起人 主题发起人 del_man
  • 开始时间 开始时间
D

del_man

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高人,小弟在做李维书上的例子时遇上了这样的一个问题,不知道为什么原因,特向
富翁们求救
问题是这样的:我用MTS DATA MODULE 里面放了一个
ADOConnection1 连上了本地机器上的SQLSERVER2000 ,
CONNECTED:TRUE ,LOGINPROMPT: FALSE
ADOQUERY1 CONNECTION :ADOConnection1,
SQL: SELECT * FROM AUTHORS
DataSetProvider1 DATASET : ADOQUERY1
客户端用DCOMConnection1连上也调试通过,确实能把数据抓出来,但当我修改ADOConnection1
连上另外一台机器上的SQLSERVER2000的时候,服务器端连接没有问题,把组件重新安装过后,
我发现一用DCOMConnection1去连的时候,我的DELPHI就没有反应了,我等了一个小时也没有任何
的错误信息。望高人能够指点迷津。谢谢!!
另外还有一个问题,作为一个程序员总有技术上或职业生涯发展方向的困惑,小弟希望能够
多结交几个朋友,拜多几个师傅。我的邮箱 H_HP@NETEASE.COM 能得到你的帮助是我的荣幸。
谢谢!!!
 
把组件重新安装过后? --- 什么意思呀..
DELPHI没反应是因为连不上你的中间层服务器...
 
是这样的,我把ADOConnection1的连接字符串改了,连到另外的一台sqlserver服务器,
可以连通的。因为程序改了,那我写的这个mts组件也肯定要更新的吧?但当我更新完后
我把DCOMConnection1 的connected 设为true 的时候,delphi就没有反应了,不知道为什么?
 
你要把mts的接口程序拷到程序中,把程序重新生成exe
 
看来我要把问题重新描述一下了:
1。new 了一个 activex library ,然后 new 一个 mts data module. coclass name取名
为 mtstest.选需要事务一项。
2.在 mts data module 放上三个控件。ADOConnection1,ADOQuery1,DataSetProvider1
3. ADOConnection1连上本地计算机安装的sqlserver,连通没问题,
ADOQuery1,DataSetProvider1的连接也不用我说了。 ADOQuery1 的sql 设为
select * from authors
4。run-->install mts objects 这一步也ok
5.close all project .然后new 一个project。Save project 为aproject
6.在aproject 的from1上放上三个控件 DCOMConnection1 ,clientdataset1,datasource1
7.DCOMConnection1的computername 设为127.0.0.1 servername 为mtstest.connected
为true .这一步也是ok的。
8。clientdataset1 的remoteserver 设为 DCOMConnection1,
providername 设为 DataSetProvider1.然后 avtive设为true
9.放置datasource1,dbgrid 连上clientdataset1 确实是看到有数据了
10。修改 ADOConnection1的连接字符串。连到另外一台计算机上面的sqlserver。也可以连
通。重复4 也ok
11.然后重复5,6,7。当connected 为true时就没有反应了,天啊?????

 
哦,这个问题很简单呀,你只需将客户端的DCOMConnection1的Computername名设为所需
连接的那台计算机IP地址就行了,因为你第二次所使用的计算机SQL Server数据库是
在另外一台机器上面.
 
TO:虚宇
老兄,不对吧,我的数据库连接是在中间层里面实现了,我客户端只要连到中间层就可以
了吧?中间层我并没有移到另外一台计算机上。
 
你换机器了,有没有注意登陆帐号的问题呢
 
1,在另外一台机器上运行一下应用程序服务器
2,做好dcomconfig的配置
看你的运气,
也许你几天也连接不上,
也许你一次就成功。
 
我感兴趣
 
既然9、10步都通过了,就表示服务器/客户机都已经开发成功了,那么还要做第11步干什么?
做不做又有什么区别呢?不可能连本机的数据库就可以,连其它机器上的数据库就不可以。
 
经过昨天若干次的实验,我发现了这样的一个问题,
1。new 了一个 activex library ,然后 new 一个 mts data module. coclass name取名
为 mtstest.选需要事务一项。
如果我把需要事务一项改成支持事务就什么问题都没有了,我想问题肯定就出在这里了,但
是不是还要配好另外一台机器上的mts服务器还是要配sqlserver2000?大侠们出出招吧,
谢谢!!
to:
Sachow,其实我是想把应用服务器跟数据库服务器分开来,因为将来我们的后台数据可能
是db2或oracle。
 
后退
顶部