delphi如何实现客户端电脑运行程序,但数据库放在服务器电脑上? 我有一个小的查询软件,是单机版的。现在希望查询的数据能放在服务器端,但用户那边安装的程序是不包含数据库的,而是在使用中,连接服务器端的数据库,这样不管在哪里使用这个查询软件,如果修改了数据,其它使用者都能看到最新的数据信息,该如何使用呢?除了用ActiveX外,还有什么办法?直接将ADOConnectLogin的数据库地址改为IP地址可行吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以,像MSSQL,MySQL,Oracle,...可以装在一台电脑上,而程序在另外的电脑,改IP连接就行了 能否详细一点说明该如何链接呢?ACCESS可以吗?如果是SQL的话,是吧数据库放在服务器上就可以了吗?谢谢 SQL装在服务器上,客户端的delphi程序连接数据库部分写上服务器的IP,还要用户名和密码 连接字符串设置好了就可以的,ACCESS不可以,因为他是文件型的数据库 内网:ConectString=Provider=SQLOLEDB.1;Password=数据库密码;Persist Security Info=True;User ID=登录用户;Initial Catalog=数据库名;Data Source=服务器IP地址(内网要求服务器1433端口开启)外网链接的话要求用分布式开发,多层架构,这个一句两句说不清楚,给一个多层开发:RemObjects 补偿上文:上面是SQLserver数据库,如果是orcale,需要稍作调整,你可以在ADo系列的空间中可以得到这样的东西的 Access也可以,但是需要共享所在的文件夹出来 ADO双层结构就可以,把数据库装在服务器上,然后用TADOConnection连接服务器上的数据库。 服务器数据库是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; 如果使用了VPN,那还需要打开1433这个端口吗?1433端口打开后,会不会比较危险? 计算的数据怎样实现报表输出和打印? 想写一个TShape的控件,当Shape是圆时,鼠标移到圆上光标才变成手。大家帮帮忙。 高手请进:SQLSERVER LOCK TIMER OUT!!! 我抗日,但不盲目仇日!!! 在delphi中,控制打印机的打印 程序为什么会出现错误:"将截断字符串或二进制数据"?急!!!!! 有没有1listclass控件 如何保存ListView内容为文件? 关于DBGrid的Cell单元! 如何知道哪一个控件的基类是什么 OPC数据读取内存溢出 一个公司如何保护原代码?
如果是SQL的话,是吧数据库放在服务器上就可以了吗?谢谢
客户端的delphi程序连接数据库部分写上服务器的IP,
还要用户名和密码
ConectString=Provider=SQLOLEDB.1;Password=数据库密码;Persist Security Info=True;User ID=登录用户;Initial Catalog=数据库名;Data Source=服务器IP地址
(内网要求服务器1433端口开启)
外网链接的话要求用分布式开发,多层架构,这个一句两句说不清楚,给一个多层开发:RemObjects
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;
1433端口打开后,会不会比较危险?