关于连接远程数据库问题!!???希望大家献出自己的是怎么连接远程数据库的?!!! 希望大家说出自己是用什么方式连接远程数据库的??!!远程数据库为SQL SERVER远程数据库为固定IP,或者是固定域名!!!说说自己用的方式的好处和弊端!!希望大家都说说自己的看法,互相学习学习!!!贴着有分!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用IP,说到底还不是把域名转成IP啊才连接的 我是参考<Delphi5.x分布式多层应用系统系统篇>的,觉得socket比dcom方式好 如果服务器不是固定IP的话那可以用域名呀!!!说说大家用什么方式连接远程的是用ODBC还是用其它的?? 我认为如果是多层系统的话, 还是用dcom更有效率, 不然李维他老人家也不会写这么多关于dcom的了。 用ADO直接连接数据库即可,在ADO连接串中直接写上IP,用户及密码即可.优点是,方便,易操作 ado也可以。 但建议数据库服务器最好在内网中, 不然容易受到攻击; 建议考虑用三层应用。 我们这些做delphi经常想到的可能就是midas, 最近发现javabena 也非常不错。 基本上是使用odbc,这样比较灵活~呵呵!我在局域网里做过!没有使用什么这个那个的技术,只是使用ado+odbc,呵呵! IPADO直连(两层),三层的话最好把应用服务器放在远程机器上。 我也打算用ado做一个远程传输pic的东西,大家给点意见和建议吧!有人说用socket来做,大家看看ado和socket哪个更好?远程主机是通过电信的宽带接入internet的,不知道有固定ip不? 肯定ADO好了,他把底层的通讯封装了,效率比SOCKET不会差到那里去;虽然我们说SOCKET可以直接调用底层,但是你若在上面进行一些复杂的表操作,其效果肯定还比不上ADO 偶也要请教各位大侠,偶的sql服务器不幸放在防火墙停火区里面,内网的工作站要访问它,防火墙要开哪些端口呀? 我认为是webservices因为那个东西穿过放火墙很方便的,用其他的要配置端口,有时候很不方便 access用odbc网络-->\\域名或IP\路径sql直接IP或域名sql要开放端口默认1433很容易让别人扫描到,如果用sa就更加危险了 我建议使用webservices,你可以不用担心配置问题 用ADO直接连接数据库即可,在ADO连接串中直接写上IP,用户及密码即可. 固定IP的直接用IP地址就可以了。如果是三层,就不存在连接数据库的问题了。 安全问题!用写程序的要不要管呢,反正我觉得3层的安全问题很难解决,尤其是socket那种你的服务器的211端口,或某个端口就完全暴露在外网如果你给我一个你的服务器的ip和端口我一定可以访问你的数据库这样能安全么 //读取服务器值function GetIniIfo_DataBaseServer() : String ; //获取数据库服务器名称var s : String ; Ini: TIniFile;begin Ini := TIniFile.Create(ExtractFileDir(Application.Exename) + '.\Servers.ini') ; s:= Ini.ReadString('Servers','DataBaseServers',S); Result := s ;end ;是读取存在Servers.ini下的[Servers]结点,DataBaseServers的数据,这个数据是服务器IP地址,当然,本程序是以Sql Server为例,如若是Oracle程序,要另外研究一下ODBC注册码。将该数据读书之后,放入WriteReg(HostServer : String ) ;直接写入ODBC值,我的示例建立了一DataModual,在DataModual启动的时候,将DataModual的DataBase指定数据库,为WriteReg(HostServer : String )中的dbTrans,然后在程序中写入用户登陆名称、try Database1.Connected := True;exceptend ;进行正式的数据库联接,上面的程序中有一个返回值,返回到工程文件中,告诉主程序联接数据库的情况。 ado怎样连接有固定ip的odbc呢??? 数据库在内网中外网要访问,还需要端口映射portmap等,2000自带也有 ado +DCOM 直接IP或域名 delphi tquery 不能add all field 不能显示数据库里表的全部字段! 我这个通信程序为什么不起作用? 关于字体安装的问题。请教高手们 菜鸟再问关于字符串问题 再次感谢. 能比较一下vcl和COM的异同 请问Delphi中的日历? 哪些在用Delphi做毕业设计啊。我们交流一个吧。 免费获得一级国际域名和100M的asp、cgi空间! 超难度问题,但给不出分,本来想给600 关于文件拷贝的问题 udp即时通讯问题,哪位高手给解决啊。我的uc号:80505315 在线 请教:在c/s模式下,在客户端建立临时表应怎么做?
优点是,方便,易操作
ADO直连(两层),三层的话最好把应用服务器放在远程机器上。
有人说用socket来做,大家看看ado和socket哪个更好?远程主机是通过电信的宽带接入internet的,不知道有固定ip不?
防火墙要开哪些端口呀?
sql直接IP或域名
sql要开放端口默认1433很容易让别人扫描到,如果用sa就更加危险了
如果是三层,就不存在连接数据库的问题了。
反正我觉得3层的安全问题很难解决,尤其是socket那种
你的服务器的211端口,或某个端口就完全暴露在外网
如果你给我一个你的服务器的ip和端口我一定可以访问你的数据库这样能安全么
function GetIniIfo_DataBaseServer() : String ; //获取数据库服务器名称
var s : String ;
Ini: TIniFile;
begin
Ini := TIniFile.Create(ExtractFileDir(Application.Exename) + '.\Servers.ini') ;
s:= Ini.ReadString('Servers','DataBaseServers',S);
Result := s ;
end ;
是读取存在Servers.ini下的[Servers]结点,DataBaseServers的数据,这个数据是服务器IP地址,当然,本程序是以Sql Server为例,如若是Oracle程序,要另外研究一下ODBC注册码。
将该数据读书之后,放入WriteReg(HostServer : String ) ;直接写入ODBC值,我的示例建立了一DataModual,在DataModual启动的时候,将DataModual的DataBase指定数据库,为WriteReg(HostServer : String )中的dbTrans,然后在程序中写入用户登陆名称、
try
Database1.Connected := True;
except
end ;
进行正式的数据库联接,上面的程序中有一个返回值,返回到工程文件中,告诉主程序联接数据库的情况。