热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

请教一个关于软件发布的问题

小弟在delphi6下做了一个基于数据库的程序,用installshieldexpress5打包,现在有个问题是:如何在目标机器上创建ODBC数据源呢?此问题困扰小弟许久,望各兄台不吝赐教!
小弟在delphi6下做了一个基于数据库的程序,用installshield express5打包,现在有个问题是:如何在目标机器上创建ODBC数据源呢?此问题困扰小弟许久,望各兄台不吝赐教!

9 个解决方案

#1


最好用ADO的了,不需要配置ODBC的
InnoSetup简单易用的

不要再用BDE了!

#2


我以前写的一个动态设置ODBC的单元,所有的ODBC其实都写有注册表里,看看就知道了

没用过IS,不过想来应该也可以在安装过程中创建ODBC的

//动态设置ODBC数据源



unit ODBC;



interface



uses

  Windows,SysUtils, Forms,Registry;



procedure ODBCCreate();



implementation



procedure ODBCCreate();

var

  RegODBC:Tregistry;

begin

Try

  RegODBC:=Tregistry.Create;

  RegODBC.RootKey:=HKEY_CURRENT_USER;

  RegODBC.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources',true);

  RegODBC.WriteString('MyODBC','Microsoft Visual FoxPro Driver');

  RegODBC.CloseKey;

  if RegODBC.OpenKey('\Software\ODBC\ODBC.INI\MyODBC',True) then

     begin

        RegODBC.WriteString('BackgroundFetch','Yes');

        RegODBC.WriteString('Collate','Machine');

        RegODBC.WriteString('deleted','Yes');

        RegODBC.WriteString('Description','');

        RegODBC.WriteString('Driver',ExtractFilePath(Application.ExeName)+'vfpodbc.dll');

        RegODBC.WriteString('Exclusive','NO');

        RegODBC.WriteString('Null','Yes');

        RegODBC.WriteString('SetNoCountOn','NO');

        RegODBC.WriteString('SourceDB',ExtractFilePath(Application.ExeName));

        RegODBC.WriteString('SourceType','DBF');

     end

  else

    begin

        application.MessageBox('无法创建ODBC数据源,请确认注册表未写保护','警告',mb_ok);

    end;

Finally

  RegODBC.CloseKey;

  RegODBC.free;

end;

end;

end.

#3


我是用ADO做的呀,也配置数据源了,是不是做得不对呀?

#4


knife_s(人生常恨水常东) 大哥,if RegODBC.OpenKey('\Software\ODBC\ODBC.INI\MyODBC',True) then后的那几句话有点看不懂,我是在Access下建的数据库,也要这样写吗?

#5


在Delphi里调用API函数动态建立ODBC数据源。

SQLConfigDataSource(hwndParent: Integer; 
                    fRequest: Integer;
                    lpszDriverString: String; 
                    lpszAttributes: String): Integer;

调用状态下使用:

function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL';

建立SQLSERVER的ODBC:

SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=Record_ODBC'+ chr(0) +'Server=(local)'+ chr(0) +'Database=master'+ chr(0) +'Description=DragonPC SQLServer ODBC Source'+ chr(0));


{  DSN:你的ODBC数据源名称。

  Server:你的数据库服务器名称,使用(local)指的是本地计算机安装的数据库。注:最新的SQL Server 2000支持一台计算机运行多个SQL Server服务,这个时候你需要指定SqlSever的InstanceName。

  Address:指定SQL Server服务器的网络IP地址。

  Database:指定默认数据库名称。

  Language:指定默认语言。

  Description:备注信息。}

#6


installshield express5
支持配置odbc阿,看下就知道!!!

#7


用ado什么都不用管

#8


用ado这样连不就行了?


var
  constr:string;
  str_TestId: string;
begin
  try
  StrExePath := extractfilepath(application.ExeName);//取得当前应用程序的路径
  //配置数据库
  ADOConnection1.LoginPrompt := false;
  constr:='Provider=Microsoft.Jet.OLEDB.4.0;';
  //constr:=constr+'Password="N4S7=y6k0s0n=K8Y9";User ID=;';
  constr:=constr+'Password="";User ID=;';
  constr:=constr+'Data Source='+StrExePath+'data\lms.mdb;';
  constr:=constr+'Mode=Share Deny None;Extended Properties="";';
  constr:=constr+'Locale Identifier=2052;Jet OLEDB:System database="";';
  constr:=constr+'Jet OLEDB:Registry Path="";';
  constr:=constr+'Jet OLEDB:Database Password=nsky;';
  constr:=constr+'Jet OLEDB:Engine Type=5;';
  constr:=constr+'Jet OLEDB:Database Locking Mode=1;';
  constr:=constr+'Jet OLEDB:Global Partial Bulk Ops=2;';
  constr:=constr+'Jet OLEDB:Global Bulk TransactiOns=1;';
  constr:=constr+'Jet OLEDB:New Database Password="";';
  constr:=constr+'Jet OLEDB:Create System Database=False;';
  constr:=constr+'Jet OLEDB:Encrypt Database=False;';
  constr:=constr+'Jet OLEDB:Don''t Copy Locale on Compact=False;';
  constr:=constr+'Jet OLEDB:Compact Without Replica Repair=False;';
  constr:=constr+'Jet OLEDB:SFP=False';
  adoconnection1.ConnectionString:=constr;
  adoconnection1.Connected:=true;
  except
  Application.MessageBox(
               '数据库连接失败!',
               '提示',MB_OK + MB_DEFBUTTON1 + MB_ICONINFORMATION);
  exit;
  end;

#9


http://www.56kc.com/technology.aspx

Wise打包工具的使用事例 

配ODBC很简单,引用一下原来的配置就可以了

推荐阅读
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
author-avatar
唯一的你b
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有