读书人

Delphi使用INI连接数据库解决方法

发布时间: 2013-09-17 13:35:59 作者: rapoo

Delphi使用INI连接数据库
在TDataModule里面进行读取INI文件配置数据库。


unit Unit2;

interface

uses
SysUtils, Classes, DB, ADODB,INIFiles;

type
TDataModule2 = class(TDataModule)
con1: TADOConnection;
procedure DataModuleCreate(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
DataModule2: TDataModule2;

implementation

{$R *.dfm}


procedure TDataModule2.DataModuleCreate(Sender: TObject);
var
DataSource,InitialCatalog,UserId,Password : string;
ini:string;
imif:TIniFile;
begin
ini:=ExtractFilePath(ParamStr((0))+'db.ini');
imif:=TIniFile.Create(ini);
DataSource:=imif.Readstring('sqlserver','Data Source','');
InitialCatalog:=imif.Readstring('sqlserver','Initial Catalog','');
UserId:=imif.Readstring('sqlserver','user id','');
Password:=imif.Readstring('sqlserver','password','');

con1.ConnectionString :='Provider=SQLOLEDB.1;Password='+Password+';Persist Security Info=True;User ID='+UserId+';Initial Catalog='+InitialCatalog+';Data Source='+DataSource;
con1.Connected := True;
con1.loginprompt :=false;

imif.Free;
end;

end.

不停的报错。无效的授权说明
[sqlserver]
Data Source=192.168.7.11\SQL2005
Initial Catalog=HC_sql
user id=sa
password=sasa
[解决办法]
Datasource后为什么加个\sql2005?
[解决办法]
192.168.7.11\SQL2005
你这台服务器的SQL是否有实例叫“SQL2005”的,如没有而是一个缺省的实例就不要加上。
[解决办法]
装的是sqlexpress?

读书人网 >.NET

热点推荐