各位大侠:       
         
         小弟刚学做多层数据库应用程序,做的是李维的书上的一个ADO去读取  
数据的应用程序,我用的是D6+SQL  SERVER2000  +DCOMCONNATION  但是当我  
把dcom控件的connation设为ture,就会出现错误,好像说OLE不能绑定对象,  
我跟本就没有写代码,是不是还要设置什么地方。请各位大侠指点。

解决方案 »

  1.   

    应用程序服务器已经运行过一次了,不知道为什么我在我同学的机子上也是这样
    他的配置是WIN98+ADO+DCOM,一把DCOM的CONNACTION设为TURE就会出错
      

  2.   

    你的 DComConnection中的 Server和Guid项不会是没填写吧,如果是本地机,应该很容易就实现的,另外,你重启一下电脑试试
      

  3.   

    那些我都设置了,而且我用BDE去做那个实例就可以这是为什么?
      

  4.   

    还是用Socket连接的好。
    如果用了Com+要在Client中注册
      

  5.   

    你的ADOConnection可以连接到SQLServer吗?
    如果可以,那可能就是你的DCOM配置有问题
    你可以用Socket连接试一下,Socket连接比DCOM连接的问题要少得多
    而且不用在客户端注册应用程序服务器。
      

  6.   

    我的ADOCconnection可以连到SQL Server 2000,DCOM 在那里配置我没用过SOCKET,我不知道它的属性怎么设置,你能指点一下吗?
      

  7.   

    升级你的ADO吧!SocketConnection很容易用的,与DCOMConnection相似,设置它的ServerName,
     然后设置它的Address或Host(应用服务器所在机器名)即可,以下用Clientdataset连到SocketConnecton控件,方法同DCom 连接,最后别忘运行
    Delphi5\bin下的ScktSrvr.exe
      

  8.   

    我也正在做这个,也是参考李维同志的,不过在本机上没有问题
    我使用delphi5+sqlserver2000
    现在有以下问题:
    1、客户端应用程序和应用服务器都在本机上,可以正常读取服务器上面的数据表,我用odbc连接sqlserver2000。但是,当把应用服务器分发到windows2000servers上的时候,就说无法认识别名。
    2、在调试的环境下,如果把客户端程序中的DCOMConnection的Computername从本机的名字改为服务器的名字,在设置Connected属性为true的时候,delphi就会没有反应,死了一样。
    怎么回事?请教
      

  9.   

    问题很简单,第一,在你分发服务器程序的时候,必须要同时分发delphi里面的几个文件,它门是midas.dll,sqllinks,其中呢sqllinks是用来访问数据库的,这个配置我就不说了,我估计你会,哪个midas.dll是用来解析和封包 tclientdataset组件的数据的,你需要把它拷贝到系统目录下,win98的是\windows\system,win2000的是\winnt\system然后使用delphi带的一个应用程序来注册midas.dll,哪个才程序在一个delphi的bin目录下,你自己找吧!
    第二、注册完了以后,你还需要配置dcom,方法是启动dcomcnfg,配置一些安全的设置,关于这个你可以看相关的书籍,因为dcom配置是很有变换性的工作!这些都配置完了以后你就可以注册应用程序服务器,用客户短连接了,如果还是不能运行的话你检查以下你的网络环境,你的网络环境必须保证是一个包含域的网络,dcom在对等网中不能运行!不过有的书说经过什么修改也可以运行在对等网,不过我尝试了好长时间,都不行!我看过一本叫做delphi程序员指南的书,上面说不能用对等网,这个问题大家慢慢讨论吧,谁有好的意见,贴上来,大家分享!
      

  10.   

    同意zhang21cnboy的说法,另外还有一个原因可以导致你的错误,就是SqlServer的MSDTC服务没有启动,你在SqlServer2000中启动的方法是在SqlServer Group中选定服务器后启动“支持服务”选项中的“分步式事务处理协调器”
      

  11.   

    问题已经解决了,原因如下:
    在配置odbc的时候,在2kserver上要配置系统数据源,不是用户数据源。
    用户数据源存储了如何与指定数据提供者连接的信息。用户数据源只对当前用户可见,而且只能用于当前机器上。
    系统数据源存储了如何与指定数据提供者连接的信息。系统数据源对当前机子上的所有用户可见,包括NT服务。
    但是,有一个问题哪位大哥给说清楚些,在进行odbc配置的时候用户dsn,系统dsn,文件dsn有什么区别?我好象不能很透彻的了解,谢谢了。
      

  12.   

    文件dsn可以保存密码,但是不安全
      

  13.   

    一个新问题:
       为什么使用ClientDataSet的Applyupdate(0),无法更新数据库的数据?会是什么原因呢?
      

  14.   

    不知道大家进入SQL2000是用WINNT的认证还是用SQL自已的认证呢?还有我用的是D6,难道还要升级ADO吗?
      

  15.   

    如何联到远程的sql server 数据库?那位高手快求我 
    我的email地址是[email protected]
      

  16.   

    连sql server可以有两种方法,ado和odbc
      

  17.   

    要保存密码,可以用Tdatabase控件中的OnLogin事件,另外连接控件的loginPrompt属性设为False.