调试时,有没有问题?这样很不好说问题在哪,代码发过来:[email protected]

解决方案 »

  1.   

    不清楚..
    服务端安装了SQL SERVER的客户端吗?
      

  2.   

    和你遇到同样的问题,你是不是在服务器端用adoconnection+adotable(adoquery)?我换成adodataset,顺利解决。不过我也不知道原因所在
    创建过程:
    1、新建程序(application),file --new--other,选择"Multitier"--"Remote data module"。在跳出来的对话框里面输入名称(任意),例如:AppSqlConn。选择确定,进入remote data module窗口。
    2、加入组件:adodataset,点击connectionstring属性,点击后面的…,进入设定连接窗口。选择:use connection string--build,在提供程序中选择:"Microsoft ole db provider for sql server",在连接中:服务器名称输入sql server的ip地址,登录信息中输入用户名和密码(sql server),在选择数据库中选择自己想要使用的数据库。一般只要地址正确、用户名和密码无误,肯定可以连接通过。确定退出。
    3、在commandtext中点击后面的…,进入sql 语句设定,根据自己的要求设定。
    4、将active属性设置为true。只要前面的设定是正确的,这里应该顺利通过。
    5、加入组件:datasetprovider。设定其dataset属性为上面的adodataset。
    6、到此服务器端已经设置完成。请保存并且运行一次,从而使服务注册。
    7、运行delphi的bin目录下面的scktsrvr,因为下面要使用socket连接。运行后任务栏中出现socket server的图标。8、新建程序(application),然后file--new--data module,会创建客户端的data module。
    9、加入组件:socketconnection,在address中输入sql server的ip地址,然后在servername中输入刚才创建的remote data module的服务程序。程序会自动在serverguid中加入id。然后选择connected属性为true。只要此处不报告错误,此程序基本成功了。
    10、加入组件:clientdataset,选择remoteserver属性为socketconnection,选择providename为服务器程序的datasetprovider。然后选择active属性为true。
    11、到程序的form窗口状态,首先选择file--use unit,选择上面创建的data module,确定。然后加入组件datasource和dbgrid。选择datasourece的dataset属性为data module的clientdataset,选择dbgrid的datasource为这里的datasource组件。现在应该可以看到dbgrid的窗口中出现了想要的数据。保存并且编译客户端程序。
    12、客户端分发软件设定。从服务器端拷贝midas.dll文件到本机的system(98)或者system32(2000),一般自己就可以注册,否则用regsvr32 midas.dll注册一下。然后将刚才客户端程序拷贝过来运行一下,应该可以正常运行。
      

  3.   

    刚刚搞定,是连接文档的问题。在开发机器上的连接文档路径(.udl文件)和使用程序的服务器路径不同,比如开发机器上的连接文档是c:\test\test.udl,但是在使用此程序的机器上的路径是d:\use\test.udl,导致查询的时候找不到有效连接文档,从而报告这个错误。把原来的程序用 /unregserver注销,然后把路径改成一样的,错误解除。
    have a good luck.