急,数据库连接问题,能不能不配ODBC和BDE等在局网中实现SQL SERVER 数据库的连接,或是用别的方法使Client端只通过我的应用程序来连接数据库,不

  • 主题发起人 主题发起人 杨深
  • 开始时间 开始时间

杨深

Unregistered / Unconfirmed
GUEST, unregistred user!
急,数据库连接问题,能不能不配ODBC和BDE等在局网中实现SQL SERVER 数据库的连接,或是用别的方法使Client端只通过我的应用程序来连接数据库,不能利用别的开发工具或安装一个SQL SERVER来连接(200分)<br />急,数据库连接问题,能不能不配ODBC和BDE等在局网中实现SQL SERVER 数据库的连接,或是用别的方法使Client端只通过我的应用程序来连接数据库,不能利用别的开发工具或安装一个SQL SERVER来连接
 
d5 的adoexpress
 
我的程序已作好了,以前用的都是ODBC,
都位拜托了!
用ODBC配数据源,别人装一个SQL 的客户端就可以把我的信息全看到了,就算用sa密码
都是有可能被别人取到的。
怎么办?BDE可以不管。怎样才能不装SQL SERVER的客户端和配置odbc
及数据库不被别人看到?
 
clientdataset可以办到,但要做成三层结构.
用clientdataset去连接应用程序服务器,然后应用程序服务器
在向数据库服务器请求数据,这样就把数据库服务器和客户端隔离
开了.可以从一定程度上满足安全性的要求.
 
各位大侠,程序已做好,只等作安装程序了!怎样别人看不到数据库而自己又能连上???
 
》别人装一个SQL 的客户端就可以把我的信息全看到了,就算用sa密码
按照你说的微软早破产了
 
>>程序已做好,只等作安装程序了

如果是这样,只有一个变通的方法,就是为用户名和口令加前缀(后缀/...),
(当然sa只能给口令加),你的登录程序自动对用户名和口令加前缀,
然后登录数据库。这样,即使用户知道sa的“口令”,也只能通过你的程序访问数据库。

再狠一点,把sql server中信任组(默认是administrator)去掉,让NT信任登录也不行,
更“安全”了。当然,一切后果自负,因为一旦丢失sa口令或忘记前缀则......

 
在你的主FORM启动时调个过程:动态添加BDE
procedure init();
Var
BdeString :TStringList;
begin
BdeString := TStringList.Create;
BdeString.Add('DATABASE NAME=his_med');//数据库名
BdeString.Add('SERVER NAME=his_svr'); //服务器名
BdeString.Add('USER NAME=SA'); //用户名
If Session.IsAlias('his_med') then
Session.ModifyAlias('his_med',BdeString)
else
Session.AddAlias('his_med','MSSQL',BdeString);

BdeString.Free;
Session.SaveConfigFile;

session.Close;

end;
 
恐怕很难达到要求...
 
//faint,很容易实现啊。
这个odbc数据源不在系统里生成,别人就看不到啦。
数据源在程序访问数据库前生成。(其实是数据库环境)
具体写法看rdo或者ado的connect函数,其实各种数据库访问方式都大同小异的,
只要知道原理就知道该怎么办了。
 
数据库本来就是通过一个用户名和密码进行访问的,让他知道有这个数据库又怎么样呢?
关键是保管好自己的密码。不要用简单易猜的。不用费那个事。
 
各位大侠,原来我没有表达清楚。
1、不用NT用户登录,用如SA一类的用户
2、安装时自动配置ODBC(不能出现用户密码,包括******的配置向导窗口之类,象这种一般都可以发WM_GETxxxTEXT取得密码)
3、自动BDE(?DLL,ice.yang的答案)
4、不安装SQL SERVER 7的客户端(?DLL)
5、程序中自动连接数据库,密码半固化在程序中
请把过程说清楚马上给分。拜托!!!
 
//faint!
你到底想干什么?总得说明白吧!
对你这个问题失去兴趣了,最后请不要给我分数。
 
>>不安装SQL SERVER 7的客户端
除非三层不可能做到
 
同志!!!我也在研究这个问题,你的意思我完全了解!!
我有了一点眉目,我找到这样一个函数:SQLConfigDataSource,
这个函数只有一个字符串参数,字符串类似于connectingstring。
但是现在的问题是找这个函数包含在哪个dll当中,怎么导出的问题了,
我正在找,正在导!
 
http://person.zj.cninfo.net/~yhaiyan/technology/pb/pb149.htm
还有这个,也许有帮助
 
SQL SERVER 数据库需要口令,大概你是将sql server安装时的口令设置部分设置成同window
nt通用的口令了,即SQL SERVER使用WINNT的系统口令。你应该另外设置口令,不要同NT的
系统口令通用,并且在程序中登录数据库。
这样就只有你的程序才有口令登录数据库(除非其他人也知道这个口令)。
 
多人接受答案了。
 
承各位帮助
已用Delphi作好安装程序,包括Sql Server客户端的Dll及其注册,还有ODBC的配置。
 
后退
顶部