我有一个小的查询软件,是单机版的。现在希望查询的数据能放在服务器端,但用户那边安装的程序是不包含数据库的,而是在使用中,连接服务器端的数据库,这样不管在哪里使用这个查询软件,如果修改了数据,其它使用者都能看到最新的数据信息,该如何使用呢?
除了用ActiveX外,还有什么办法?直接将ADOConnectLogin的数据库地址改为IP地址可行吗?

解决方案 »

  1.   

    可以,像MSSQL,MySQL,Oracle,...可以装在一台电脑上,而程序在另外的电脑,改IP连接就行了
      

  2.   

    能否详细一点说明该如何链接呢?ACCESS可以吗?
    如果是SQL的话,是吧数据库放在服务器上就可以了吗?谢谢
      

  3.   

    SQL装在服务器上,
    客户端的delphi程序连接数据库部分写上服务器的IP,
    还要用户名和密码
      

  4.   

    连接字符串设置好了就可以的,ACCESS不可以,因为他是文件型的数据库
      

  5.   

    内网:
    ConectString=Provider=SQLOLEDB.1;Password=数据库密码;Persist Security Info=True;User ID=登录用户;Initial Catalog=数据库名;Data Source=服务器IP地址
    (内网要求服务器1433端口开启)
    外网链接的话要求用分布式开发,多层架构,这个一句两句说不清楚,给一个多层开发:RemObjects 
      

  6.   

    补偿上文:上面是SQLserver数据库,如果是orcale,需要稍作调整,你可以在ADo系列的空间中可以得到这样的东西的
      

  7.   

    Access也可以,但是需要共享所在的文件夹出来 
      

  8.   

    ADO双层结构就可以,把数据库装在服务器上,然后用TADOConnection连接服务器上的数据库。
      

  9.   

    服务器数据库是sqlserver的话,那就简单了。客户端是用ado连接数据库的话,配置一下连接字符串即可,跟本地操作一样的。
    ADOConnection1.ConnectionString :=
    'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=192.168.1.106';----------------
    常见的做法是把连接数据库的参数写到ini配置文件中
    参考如下代码:
    server.ini
    { ====连接SQL SERVER数据库用户名及密码==== } 
    [DATABASE]
    { db_server是SQL SERVER数据库服务器计算机名或IP地址 }
    { 如果SQL SERVER数据库服务器是本机可不用填写        }
    db_server=192.168.1.106
    { SQL SERVER数据库用户名 }
    user=sa
    { SQL SERVER数据库密码 }
    password=
    读取连接字符串procedure TDM.DataModuleCreate(Sender: TObject);
    var
      clientini:TIniFile;
      db_server,user,password:string;
    begin
      {获取server.ini文件中系统配置参数}
      try
        clientini := TIniFile.Create('.\Server.ini');
        if clientini<>nil then
        begin
          db_server := trim(clientini.readString('database','db_server',''));
          user := trim(clientini.readString('database','user','sa'));
          password := trim(clientini.readString('database','password',''));
        end;
      finally
        clientini.Free;
      end;
      { 获取数据库连接串 }
      ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID='+user+';Password='+password+';Initial Catalog=master;Data Source=' + db_server;
    end;
      

  10.   

    如果使用了VPN,那还需要打开1433这个端口吗?
    1433端口打开后,会不会比较危险?