改一下://连接数据库
SysINI:= TIniFile.Create(ExtractFilePath(ParamStr(0))+'\dbini.ini');
str_username:=SysINI.ReadString('vdsl', 'user', 'default string');
str_password:=SysINI.ReadString('vdsl', 'pwd', 'default string');
SysINI.Free;
str_password1:= PassWordDeCode(str_password);
try
Database1.close;
Database1.AliasName:='vdsl_stat';
Database1.Params.Clear; Database1.Params.Add('username='+str_username);//不起作用
Database1.Params.Add('password='+str_password1);
Database1.open;
except
showmessage('数据库连接失败!');
application.Terminate;
end;
SysINI:= TIniFile.Create(ExtractFilePath(ParamStr(0))+'\dbini.ini');
str_username:=SysINI.ReadString('vdsl', 'user', 'default string');
str_password:=SysINI.ReadString('vdsl', 'pwd', 'default string');
SysINI.Free;
str_password1:= PassWordDeCode(str_password);
try
Database1.close;
Database1.AliasName:='vdsl_stat';
Database1.Params.Clear; Database1.Params.Add('username='+str_username);//不起作用
Database1.Params.Add('password='+str_password1);
Database1.open;
except
showmessage('数据库连接失败!');
application.Terminate;
end;
解决方案 »
- 如何实现平滑的实现切换效果
- 有用过IBM TTS sdk的吗?能否介绍一下经验?
- 设置断点的问题
- 我想把数据库里内容输出到网页的形式或文本的形式要怎么做啊??
- 关于PAINTBOX的疑问
- 请问临时表问题?
- 如何将数据表中固定列的合值打印出来
- 编译时总报AMovie_TLB.duc没找到,但我程序里也没有类似的控件啊,怎么办
- 再次求解!!!急急急!!!(高分相赠!!)我想做一个对指定的网页填写数据的程序,因为该网页每次只能填写一条记录,并且是用asp写的,因此我想把所以得数据填入一个数据库,然后由程序在网上一一填写,请各位大侠指点如何实现?如何编写?用什么原理?
- 几个难题……
- 能否掩藏父类的PUBLIC属性?
- 我没分,但我有问题!
好多参数都没有了,具体怎么完整写一下,我把sever name 写上了还是不行!!
把下面的都用Database1.Params.Add()加上试试?SERVER NAME=ORA_SERVER
NET PROTOCOL=TNS
OPEN MODE=READ/WRITE
SCHEMA CACHE SIZE=8
LANGDRIVER=
SQLQRYMODE=
SQLPASSTHRU MODE=SHARED AUTOCOMMIT
SCHEMA CACHE TIME=-1
MAX ROWS=-1
BATCH COUNT=200
ENABLE SCHEMA CACHE=FALSE
SCHEMA CACHE DIR=
ENABLE BCD=FALSE
ENABLE INTEGERS=FALSE
LIST SYNONYMS=NONE
ROWSET SIZE=20
BLOBS TO CACHE=64
BLOB SIZE=32
OBJECT MODE=TRUE
还是不行阿--------请问是不是BDE中的sever name 和user name 配置是在设计是固定好的,无法用程序代码动态设置,现在程序中改变这两个设置都不起作用,如果BDE中的这两个不配置的话程序连不上库的!!1
在这里我只告诉你方法。 先找到别名,然后再对你说需的要求进行改。
简单点的试一下
我是按照peihexian(只有初中学历)的方法把参数值重赋了一遍,但是还是不行啊???!
try
Database1.close;
Database1.Params.clear;
Database1.Params.add('server name=vdsl');
Database1.Params.add('username=vdsl');
Database1.Params.add('NET PROTOCOL=TNS');
Database1.Params.add('OPEN MODE=READ/WRITE');
Database1.Params.add('SCHEMA CACHE SIZE=8');
Database1.Params.add('LANGDRIVER=');
Database1.Params.add('SQLQRYMODE=');
Database1.Params.add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
Database1.Params.add('SCHEMA CACHE TIME=-1');
database1.Params.add('MAX ROWS=-1');
Database1.Params.add('BATCH COUNT=200');
Database1.Params.add('ENABLE SCHEMA CACHE=FALSE');
Database1.Params.add('SCHEMA CACHE DIR=');
Database1.Params.add('ENABLE BCD=FALSE');
Database1.Params.add('ENABLE INTEGERS=FALSE');
Database1.Params.add('LIST SYNONYMS=NONE');
Database1.Params.add('ROWSET SIZE=20');
Database1.Params.add('BLOBS TO CACHE=64');
Database1.Params.add('BLOB SIZE=32');
Database1.Params.add('OBJECT MODE=TRUE');
Database1.Params.add('password=vdsl');
Database1.open;
except
showmessage('数据库连接失败!');
application.Terminate;
end;
改为:Database1.Params.add('user name=vdsl');
......
// 试试以下
try
Database1.close;
Database1.DriverName := 'Oracle'; // ****别漏了,也可在设计时设置
Database1.DatabaseName := '你的数据库别名'; // ****别漏了,也可在设计时设置
Database1.LoginPrompt := False;
Database1.Params.Clear;
Database1.Params.Add('DATABASE NAME=' + '你的数据库名称');
Database1.Params.Add('SERVER NAME=' + '服务器名称');
Database1.Params.Add('USER NAME=' + '用户');
Database1.Params.Add('PASSWORD=' + '密码');
Database1.Open;
except
showmessage('数据库连接失败!');
application.Terminate;
end; 其它参数可不设置,数据库会按缺省值设置的!