如何用Delphi发布用Odbc连接的数据库应用程序?急!急!200分!!!(200分)

  • 主题发起人 主题发起人 lvjianshe
  • 开始时间 开始时间
L

lvjianshe

Unregistered / Unconfirmed
GUEST, unregistred user!
本人用access和 odbc连接数据库(已经决定不考虑Bde了),
但不知道如何发布!遇到如:如何在odbc用程序动态创建
一个数据源及需要那些文件,或者哪位能提供更好的如
installshield类似的其他工具,因为我已经试了在install
shield很难创建Odbc数据源!!
 
不用BDE吗?
你用的是ADO?
 
installsheild express 2.11(11M)
带odbc, dao/jet 选项,
有大信箱的话我mial个给你。
 
发布时, 运行mdac_typ.exe(visualstudio98里带)就安装全部驱动了.
 
mdac_typ.exe 很大(7M?),包括了微软的全部数据驱动,是可以的,
若你只用ODBC+Access,应该可以简化一下。
类似问题问了很多,我没有时间,没试过到底Acces+ODBC最小需要那些文件。
 
关于动态创建ODBC数据源:

首先声明一个API函数:
Function SQLConfigDataSource(hwndParent,fRequest:Longint;lpszDriver:string;lpszAttributes:string):Longint; stdcall;external 'ODBCCP32.DLL';

//添加一个Access数据源
function AddAccessODBC(SourceName,DatabaseName,Desc,password:string):boolean;
var intRet:longint;
strDriver:string;
strAttributes: string;
begin
strDriver:= 'Microsoft Access Driver (*.mdb)';// 'Set the attributes delimited by null.
strAttributes:= ('UID=admin'#0'DESCRIPTION='+Desc+#0'UserCommitSync=Yes'#0'Threads=3'#0'SafeTransactions=0'#0'PageTimeout=5'#0'MaxScanRows=8'#0'DSN='+SourceName+#0'MaxBufferSize=512'#0'ImplicitCommitSync=Yes'#0'FIL=MS Access'#0'DriverId=25'#0'DBQ='+DatabaseName+#0'PWD='+password+#0);
//上面的默认参数你可以自己修改
intRet:= SQLConfigDataSource(0, ODBC_ADD_DSN, strDriver, strAttributes);
result:=(intRet<>0);
end;

//删除一个数据源
function DelAccessODBC(SourceName,DatabaseName,Desc,password:string):boolean;
var intRet:longint;
strDriver:string;
strAttributes: string;
begin
strDriver:= 'Microsoft Access Driver (*.mdb)';// 'Set the attributes delimited by null.
strAttributes:= ('UID=admin'#0'DESCRIPTION='+Desc+#0'UserCommitSync=Yes'#0'Threads=3'#0'SafeTransactions=0'#0'PageTimeout=5'#0'MaxScanRows=8'#0'DSN='+SourceName+#0'MaxBufferSize=512'#0'ImplicitCommitSync=Yes'#0'FIL=MS Access'#0'DriverId=25'#0'DBQ='+DatabaseName+#0'PWD='+password+#0);
intRet:= SQLConfigDataSource(0, ODBC_REMOVE_DSN, strDriver, strAttributes);
result:=(intRet<>0);
end;
 
cAkk:
你的程序需要USES那些单元??
 
长寿面: 我的程序里面其实只有1个API函数,不用单独为它uses任何单元.
(不过那个API需要你自己声明,没有封装的.)
 
to rss:
install shield express2.11 有11M,我没有那么大的信箱,
有没有其他的站点能下载!!
to cAkk:正在调试中!!

先行谢过!

 
奇怪.我没遇到这问题.
我的环境为 WIN98,DELPHI 4, MS ACCESS97, IS FOR DELPHI 4.0 BETA
我只在 CONTROL PANEL->ODBC DATA SOURCE 32 BIT ->USER DSN
天加上自己的DATA SOURCE NAME 就可.
如果你要在程序中动态添加DSN,可参考计算机用户的文章
网址为 WWW.COMPUTERWORLD.COM.CN 的实用技巧->DELPHI.

 
我用INSTALL SHIELED4没遇到问题!
 
to cakk:
我试了一下,程序中不能识别常量 odbc_add_Dsn和odbc_remove_dsn
,我把dll文件tdump了,找不到SQLConfigDataSource的参数,是否要用到
其他单元?
to guo_qpeter:
正在查看...
to fisherd:
你是发布的是使用bde还是odbc?如是odbc,数据源配不起来,不能
添加动态数据源.
 
cytown:
我的意思和吕建设一样,odbc_add_Dsn和odbc_remove_dsn常量的定义找不到。

另外,我什么时候改名叫长寿面了?
 
11M的足本Install Shield express我原先在ftp.installshield.com下载
的,不过现在可能没了,你去找找。

Delphi,Cbuilder带的is express都是简化版,足本的支持VC,VB,CBuilder,
Delphi,Paradox,Power++...
非常好。

 
用INSTALL SHIELED5试试吧
 
用wise intaller 7.0试试.
www.fanso.com 有
 
ftp.cs.pku.edu.cn/developertools/intalltools
有 is express 2.11.
 
for rss
你有is express 2.11的注册码吗?我刚才从ftp.cs.pku.edu.cn下载的是
15天试用版.
 
后退
顶部