用ADO+SQL2000想使程序在其他机子上成功运行,需要配置点什么数据库或数据表要保留哪一部分到其他机子上这些配置可以在编程中动态实现吗?哪些只能通过手工配置来完成求教,谢谢了

解决方案 »

  1.   

    客户端如果程序运行有问题,能够保证有关程序的配置无错时,下载一个 mdac_typ.exe 安装
      

  2.   

    我现在做的只是单机的版本即在我机子运行上是用我机子上sql server在其他机子上运行是用到该台机子的sql server不是用C/S
      

  3.   

    Microsoft SQL Server Desktop Engine(MSDE),安装之后,就可以不用装SQL Server的全部功能了。
      

  4.   

    首要条件,你的网络必须是能够ping通的;
    其次,在其他机器上安装sql server 的时候,在[组]下面鼠标右键单击,选择 [新建sqlserver注册] 根据向导,在可用的服务器当中,选择你安装sqlserver 数据库的服务器,直到完成!
      

  5.   

    看样子我没有把问题说清楚就是我要把我做的程序作为作业交上去那我就要连同我的数据库里的相关内容都交上去我做的程序里面应该怎么样动态编程使程序能在审查人的那台机器上顺利运行我的sql server和他的sql server 不连通我应该怎么样做请教了谢谢
      

  6.   

    win2000不需要
    win98要装个连接层,用type_mdac.exe
      

  7.   

    up,需要安装mdac(microsoft data access control,好像是这意思)即ADO的COM接口
      

  8.   

    根据我的分析,你不是想让多人共用你的系统,如果是共用,则你的机器上应是NT/2000服务器,其他机器为你的服务器上的客户,在同域(工作组)下工作,则只要启动时用能够登陆到服务器的用户名或密码,然后只要有你的程序即可,不用配置任何东东
       如果你要交给一个简单审查人(非用户),建议你将SQL数据库转成ACCESS,配置也非常简单,只要你将ACCESS放在同EXE相同的目录下,ADOCONNECTIONSTRING中访问手工删掉文件名的目录信息段,编译后即可)。
        如果要交付使用,也建议通过ACCESS做转换数据库,到用户处仍用导入功能导入,但也有问题是你的程序访问的主机名不同,你需要在配置文件中加入访问SQL的主机名或IP,在程序开始运行时动态生成CONN STINRG,替换掉主机名或IP;
    例如我的一个通用数据库查看器就有一个STRING 编辑器位置
    Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=lh;Initial Catalog=JXGLCJK;Data Source=DEAN
    其中,你要改动的有 JXGLCJK 和 DEAN 两处
      

  9.   

    程序发布呀!
    程序直接使用wise,install shell 之类的软件发布就可以了;
    数据库的话,你必须设计一个接口,动态配置连接ADOconnection,一般情况下供选择的有服务器名
    名称,密码等信息!下面告诉你几个有用的函数
    调用“数据链接属性”对话框?可以使用UDL文件,UDL文件到打开方式是:
    Rundll32.exe C:\PROGRA~1\COMMON~1\System\OLEDB~1\oledb32.dll,OpenDSLFile %1uses ADODB;然后使用函数:PromptDataSource即可,该函数原型如下:uses
      OleDb,ComObj,ActiveX;function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;
    var
      DataInit: IDataInitialize;
      DBPrompt: IDBPromptInitialize;
      DataSource: IUnknown;
      InitStr: PWideChar;
    begin
      Result := InitialString;
      DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize;
      if InitialString <> '' then
        DataInit.GetDataSource(nil, CLSCTX_INPROC_SERVER,
          PWideChar(InitialString), IUnknown, DataSource);
      DBPrompt := CreateComObject(CLSID_DataLinks) as IDBPromptInitialize;
      if Succeeded(DBPrompt.PromptDataSource(nil, ParentHandle,
        DBPROMPTOPTIONS_PROPERTYSHEET, 0, nil, nil, IUnknown, DataSource)) then
      begin
        InitStr := nil;
        DataInit.GetInitializationString(DataSource, True, InitStr);
        Result := InitStr;
      end;
    end;很多朋友在编写完成基于SQLServer的程序后对发布程序感到头疼,因为仅仅发布应用程序和BDE是不够的,必须安装SQLServer Client软件,难道还要提供一张SQLServer的光盘?下面jojo为大家介绍一个解决之道:  
        1.准备一份Install Shield Express,最好是2.01以上的版本,在Delphi的安装盘上有一个专用版本也可以用,按照制作一般程序安装盘的方法建立安装程序, 必须安装BDE和SQL LINKS. 
        2.在你的Windows\System下面找到以下几个文件(当然你的机器必须已经安装SQLServer): 
          Dbmssocn.dll    TCP/IP 支持文件  
          Dbmsspxn.dll    IPX 支持文件  
          Dbnmpntw.dll    命名管道支持文件  
          Ntwdblib.dll    SQLServer核心文件(这个文件最重要)  
        3.在Fpecify Components and Files的Groups and Files中,将以上几个文件加入到Program Files中去.当然你也可以建立一个组,将这些文件拷贝到System目录中,不过jojo个人倾向于拷贝到安装目录,以便反安装的时候可以彻底的删除它们. 
        4.如果你的程序运行比较简单(比如只有一个网段)现在你已经大功告成了,但不幸的是大多数人的网络环境没有如此简单,下面还要修改注册表:
        增加一个:hkey_local_machine_/software/Microsoft/MSSQLserver/CLIENT/db-lib,其中DSQUERY设定默认的连接协议,这里设定的是IPX,128.1.1.1则是专有的连接, 这里是设定一个连接名称为128.1.1的连接,使用TCP/IP协议,IP地址为128.1.1.1,你也可以把键名改成其他名称,只要与你的别名中SERVER NAME一项相同即可.     至此,你的安装盘已经做成,现在只需要Building一下就可以了.  
      

  10.   

    如何显示装有SQL SEVER2000的机器名
    如有三台电脑a,b,c,a和b装有SQL SEVER2000,如何在一个列表里显示a和b?: qiubolecn(来自差生市)
      两个方法,一个是用 
    netenumserver它的servertype为SV_TYPE_SQLSERVER    二是用procedure TForm1.Button1Click(Sender: TObject);
    var
       SQLServer:Variant;
       ServerList:Variant;
       i,nServers:integer;
       sRetValue:String;
    begin
      SQLServer := CreateOleObject('SQLDMO.Application');
      ServerList:= SQLServer.ListAvailableSQLServers;
      nServers:=ServerList.Count;
      for i := 1 to nservers do
          ListBox1.Items.Add(ServerList.Item(i));
      SQLServer:=NULL;
      serverList:=NULL;
    end;