SQL SERVER 7的连接和权限问题 (100分)

  • 主题发起人 竖路进一
  • 开始时间

竖路进一

Unregistered / Unconfirmed
GUEST, unregistred user!
1、
我用ADO+SQL SERVER7,
try
with adoconnection1 do
begin username:='.....';
password:='......';
open(username,password);
end;
except
showmessage('连接失败');
end;
我想知道是何种原因引起的失败,如网络不通,用户权限不足等,
给出相应提示,能判断吗?

2.
另外,我觉得在服务器端设置权限不如在应用程序中设置权限方便,
我这么想,将SQL SERVER中所有用户都设为系统管理员,
在DELPHI程序中加以限制,
如用户为经理,将DBGRID等组件设为只读不就完了。

反之,如在SQL SERVER中将经理设为只读权限,而DBGRID却无限制,
那么经理误敲字,就要向库中写,但SQL SERVER又会因无权限写而产生异常,
不如前者方便。
要这样的话,SQL SERVER中的权限又有什么用呢?

3.我想在SQL企业管理器中设置密码,只有输入系统管理员密码
才能进入界面,菜单中在哪里有设置?
 
1.adoConnection的其他属性设置好了吗?
我是这么用的
strConnString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;PWD='+SAPASSWORD+';Initial Catalog='+DATABASENAME+';Data Source='+SERVERNAME+';Locale Identifier=2052;Connect Timeout=15;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096';
adoBuilding.ConnectionString:=strConnString;
adoBuilding.connected:=True;
2.对sqlServer的权限是后台的,往往它要配合前端的权限控制,来完成全面的权限控制。
另外,一个sqlServer不只你一个数据库,也不只有一个客户端程序,不设置权限行吗?

3.我不太明白你的意思,你是不是想改sa的密码?在Security--logins里
 
1,同上
2.sql server不设密码,别人随便装个数据库客户端不就可以改数据了??又不是只有你的
客户端软件才能连上去,这样绝对是不行的。产生异常可以用try...except...end来解决
3.sql serverr的安全机制是与NT操作系统联系在一起的,如果有操作系统超级用户的权限,
那就可以直接进去了,即使用企业管理器打不开,只要能得到数据库文件,一样可以读
出数据

从你的问题来看绝对是个初学者,这个软件不会是由你来分析吧,如果用你以上的思路,
这个软件绝对是个极不安全的软件。建议多看看SQL的书
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
742
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部