打包制作安装文件,如何配置ODBC(100分)

  • 主题发起人 土拨鼠
  • 开始时间

土拨鼠

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用install express制作的,配置ODBC时,不知道如何配置SQL SERVER的连接用户名和密码。
还请高手指点!
 
S

st_cumt

Unregistered / Unconfirmed
GUEST, unregistred user!
M

marco_hsu

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是WISE,你这个工具我没用过
 
1

12345

Unregistered / Unconfirmed
GUEST, unregistred user!
程序自己注册odbc
 
V

vmao

Unregistered / Unconfirmed
GUEST, unregistred user!
odbc只要写注册表就行了!
//创建ODBC
function Tmainform.createodbc(aliasname,mdbpath:string):boolean;
function getsyspath:string;
var
PText : array[0..255] of Char;
laengde : integer;
begin
laengde:=GetSystemDirectory(PText, MAX_PATH);
result:= copy(PText, 1, laengde);
end;
var
registerTemp : TRegistry;
begin
result:=True;
registerTemp := TRegistry.Create;
with registerTempdo
begin
RootKey:=HKEY_LOCAL_MACHINE;
if OpenKey('Software/ODBC/ODBC.INI/ODBC Data Sources',True) then
begin
if not ValueExists(aliasname) then
begin
WriteString(aliasname,'Microsoft Access Driver (*.mdb)');
CloseKey;
if OpenKey('Software/ODBC/ODBC.INI/'+aliasname,True) then
begin
WriteString('Description',Loadstr(1009));
WriteString('Driver',Getsyspath+'/odbcjt32.dll');
WriteInteger('DriverId',25);
WriteString('FIL','Ms Access;');
WriteInteger('SafeTransaction',0 );
WriteString('UID','');
end;
CloseKey;
if OpenKey('Software/ODBC/ODBC.INI/'+aliasname+'/Engines/Jet',True) then
begin
WriteString( 'ImplicitCommitSync', 'Yes' );
WriteInteger( 'MaxBufferSize', 512 );
WriteInteger( 'PageTimeout', 10 );
WriteInteger( 'Threads', 3 );
WriteString( 'UserCommitSync', 'Yes' );
end;
CloseKey;

end
else
begin
CloseKey;
if OpenKey('Software/ODBC/ODBC.INI/'+aliasname,False) then
WriteString('DBQ',mdbpath)
else
result:=false;
CloseKey;
end;
end;
Free;
end;
end;
 
2

2975097

Unregistered / Unconfirmed
GUEST, unregistred user!
注册表进行注册
 

小熊跳舞

Unregistered / Unconfirmed
GUEST, unregistred user!
用InstallShield制作数据库应用系统的安装程序


  Delphi具有强大的数据库应用程序开发功能,其Client/Sever版本可以开发一般的单机数据库应用系统、普通Client/Sever应用系统直至基于Web的多层应用,其中自然离不开Borland数据库引擎(BDE)的功劳。不过在没有安装过Delphi程序的计算机上运行数据库程序时,必须同时分发庞大的BDE文件,Borland建议用户用Delphi附带的InstallShield制作安装程序来解决这些问题。但怎样选择BDE文件才能使自己的安装程序更加精炼呢?我首先介绍一下其中几个必须的文件:
  Idapi32.dll:BDE基本函数库
  Blw32.dll:语言驱动函数库
  Idr20009.dll:错误信息库
  Fareast.bll:远东语言驱动程序
  Usa.bll:美国语言驱动程序
  以下文件为根据需要可选:
  如用Paradox,则应选择:Idpdx32.dll
  如用Dbase,则应选择:Iddbas32.dll
  如用Access,则应选择:Iddao32.dll
  如用Ascii,则应选择:Idasci32.dll
  如用TBatchMove,则应选择:Idbat32.dll
  如用Data Repostitory,则应选择:Iddr32.dll
  如用ODBC,则应选择:Idodbc32.dll
  如用BDE DataSet Provider DLL,则应选择:Idprov32.dll
  如用SQL查询,则应选择:Idsql32.dll
  下面我们就以用InstallShield来制作一个Paradox数据库应用系统的安装程序为例:
  1.启动程序设置有关文件目录路径,进入Setup Checklist;
  2.在Set the Visual Design中设置程序名、程序目录、安装程序主窗口等;
  3.在Specify Components and Files中设置Groups and Files项,在Program Files中加入用户所有程序文件和数据库表文件,以及下列文件:Idbat32.dll、Usa.btl、Idapi.cfg、Charset.cvb、Bantam.dll、BLW32.dll、Idapi32.dll、Fareast.btl、Idpdx32.dll、Idr20009.dll、Idsql32.dll
(以上文件必须含目录路径);
  4.在Dialog Boxes中设置所需安装对话框;
  5.在Make Registry Changes中设置Keys项,在
HKEY_LOCAL_MACHINE中加入software/borland/blw32和software/borland/database engine两项,并且在blw32值中加入“Blapipath ‘以上文件目录’”、“LOCALE_LIB0 ‘以上文件目录’/Fareast.bll”和“LOCALE_LIB1 ‘以上文件目录’/Usa.bll”,在database engine值中加入“Dllpath ‘以上文件目录’”、“Configfile01 ‘以上文件目录’/Idapi.cfg”;
  6.在Specify Folder and Icons中根据实际要求设置有关项目;
  7.在Run Disk Builder中设置安装盘的有关信息;
  8.最后进行Test the Installation和Create Distribution Media即可完成安装程序的制作。
 
G

goodpb1

Unregistered / Unconfirmed
GUEST, unregistred user!
对程序自己写注册表,
最好用ADO直接连,
ODBC不是用的原生数据库驱动,
对性能有一定的影响
 
Y

yanghaijun

Unregistered / Unconfirmed
GUEST, unregistred user!
我基本不用ODBC了...2年了
 
L

luckyboy97

Unregistered / Unconfirmed
GUEST, unregistred user!
我也来学习一下
 
Y

yangbl555

Unregistered / Unconfirmed
GUEST, unregistred user!
上面的yanghaijun,看来是宗家(套个近乎),我也不想用ODBC,可是,我用HTTPsrvr.DLL做了个WEB多层应用,不知为何用ADO使用相对路径就不行,而用绝对路径就可以,我哪知道服务器的绝对路径呢? 为此逼得我不得不用ODBC了。你看为何?
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
924
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
881
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部