服务能否手工启动?(在线等)(50分)

  • 主题发起人 主题发起人 F86
  • 开始时间 开始时间
F

F86

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个服务器,在RDS中SQLConnection连接Sql Server数据库,因为还不确定数据库服务器的用户,所以希望能够在服务器启动后自行设定用户名和密码,然后动工启动服务,但在主窗口单元中不能简单地调用RDS,试着在RDS中用SQLConnection的OnLogin或BeforeConnect事件来处理都不能启动服务。请问有什么办法?
 
什么服务?
net start 服务名
 
说白了,就是要在服务器启动后手工配置RDS中SQLConnection的User_name、password的参数,然后连接数据库。
 
我还以为是启动sqlserver服务呢。
主窗口单元中不能简单地调用RDS,但是rds可以访问主窗口啊,把SQLConnection的参数放在主窗体的 public中让rdm读,注意rdm中的SQLConnection设计期不要连数据库
 
谢谢!但是参数传递后怎么来连接数据库呢?SQLConnection的OnLogin或BeforeConnect事件都不行
 
不知道明白你的意思没有,你看看代码:
构造着个函数,自己调用吧,应该可以的:
procedure ConnectDatabase(ServerName,DatabaseName,UserName,PassWord:String);
var
Database1:TDatabase;
begin
Database1.DatabaseName := 'Test';
Database1.DriverName := 'MSSQL';
Database1.LoginPrompt := False;
with Database1.Paramsdo
begin
Add('DATABASE NAME=' + DatabaseName);
Add('SERVER NAME=' + ServerName);
//ServerName也可以是SQL服务器的IP地址
Add('USER NAME='+ UserName);
//设置MSSQL数据的用户名称 如:sa
Add('OPEN MODE=READ/WRITE');
ADd('SCHEMA CACHE SIZE=8');
Add('BLOB EDIT LOGGING=');
Add('LANGDRIVER=');
Add('SQLQRYMODE=');
Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
Add('DATE MODE=0');
Add('SCHEMA CACHE TIME=-1');
Add('MAX QUERY TIME=300');
Add('MAX ROWS=-1');
Add('BATCH COUNT=200');
Add('ENABLE SCHEMA CACHE=FALSE');
Add('SCHEMA CACHE DIR=');
Add('HOST NAME=');
Add('APPLICATION NAME=');
Add('NATIONAL LANG NAME=');
Add('ENABLE BCD=FALSE');
Add('TDS PACKET SIZE=4096');
Add('BLOBS TO CACHE=64');
Add('BLOB SIZE=32');
Add('PASSWORD='+ PassWord);
//设置MSSQL用户口令;
end;
try
Database1.Connected := true;
Except
Application.MessageBox('数据库连接错误!','错误',MB_OK+MB_ICONERROR);
end;
end;
 
是RDS中SQLConnection的连接啦
 
没人能答么?[:(]
 
后退
顶部