小弟用过delphi连结oracle数据库,通过*.udl文件连结,
对于sqlserver数据库没有接触过,现在需要用delphi连结
sqlserver数据库,管理员给了我一个用户和密码,我也知道
安装sqlserver数据库的ip地址,我用AdoConnection配置了一下
无法连通,请问
1.需要连结数据库的机器需不需要安装sqlserver客户端
2.用户,口令,和机器名称 (ip地址)三个条件是否足够连结成功
对于sqlserver数据库没有接触过,现在需要用delphi连结
sqlserver数据库,管理员给了我一个用户和密码,我也知道
安装sqlserver数据库的ip地址,我用AdoConnection配置了一下
无法连通,请问
1.需要连结数据库的机器需不需要安装sqlserver客户端
2.用户,口令,和机器名称 (ip地址)三个条件是否足够连结成功
2。应该可以。
建议用AdoConnection连接。动态写连接字符串。
有一个连接数据库的向导,一步步执行下去,最后你会得到一个长串,其实这样你就已经连接上数据库了,最好将长串拷贝下来,放到一个.INI文件中,每次连接数据库时都从该.INI文件中读取,这样维护起来方便一点。
满屏源代码,一把辐射泪
都云编程痴,谁解其中味!
其内容如下:
[SYS]
CON=Provider=SQLOLEDB.1;Persist Security Info=False;User ID=SA;Initial Catalog=databaseName;Data Source=Your Server Name
连接过程如下:procedure Tform_DM.DataModuleCreate(Sender: TObject);
var
filename:string;
inifile:Tinifile;
begin
helpfilename:=extractfilepath(application.exename)+'document\操作指南.hlp';
application.HelpFile:=form_dm.helpfilename;
filename:=extractfilepath(application.exename)+'document\sys.ini';
inifile:=Tinifile.Create(filename);
try
ADOCON_DB.ConnectionString:=inifile.ReadString('SYS','CON','');
ADOCON_DB.Connected:=true;
db_suc:=true;
except
db_suc:=false;
end;
inifile.Free;
end;
http://expert.csdn.net/Expert/topic/2038/2038874.xml?temp=.3650324
var
sServerName,sUserID,sPwd: string;
iniFile: TIniFile;
sConn: string;
begin
MainForm.UpdateClientCount(1);
IniFile := TIniFile.Create('文件名.ini');
sServerName := iniFile.ReadString('ADOConnection', 'Server Name', '');
sUserID := iniFile.ReadString('ADOConnection', 'User ID', '');
sPwd := iniFile.ReadString('ADOConnection', 'password', '');
sConn := 'Provider=SQLOLEDB.1;Password= ' + sPwd + ';Persist Security Info=False;User ID= ' + sUserID + ';Data Source=' + sServerName +';';
sConn := sConn + 'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;';
sConn := sConn + 'Workstation ID=' + sServerName + ';Use Encryption for Data=False;Tag with column collation when possible=False';
with dataconn do
begin
if Connected then
Close;
ConnectionString := sConn;
Connected := True;
end;
end;