动态连接数据库及动态建立odbc’dsn的delphi实现

原创 2004年07月05日 10:45:00

formData Modules上放置Tdatabase控件,属性设置如下:

  object dbWork: TDatabase

    DatabaseName = 'work'

    LoginPrompt = False

    SessionName = 'Default'

    TransIsolation = tiDirtyRead

    Left = 32

    Top = 16

  End

 

1)   Paradox数据库的连接

  dbWork.Connected    := False
  dbWork.DriverName   :='STANDARD';
  dbWork.Params.Values['PATH']  := ‘d:/data’; //填写数据库路径
  dbWork.Connected    := True;

 2)         Informix数据库的连接(BDE连接)

  dbWork.Connected    := False
  dbWork.DriverName  := 'informix';
  dbWork.Params.Values['SERVER NAME'] := sServer ;//数据库服务器名称
  dbWork.Params.Values['USER NAME'] := sUse ;//用户名称
  dbWork.Params.Values['DATABASE NAME'] := ‘sysmaster;//数据库名称
  dbWork.Params.Values['PASSWORD'] := sPass ;//用户密码
  dbWork.Connected:=True;

3)        SQL Server数据库的连接(informix一样)

  dbWork.Connected    := False
  dbWork.DriverName  := 'MSSQL';
  dbWork.Params.Values['SERVER NAME'] := sServer ;//数据库服务器名称
  dbWork.Params.Values['USER NAME'] := sUse ;//用户名称
   dbWork.Params.Values['DATABASE NAME'] := ‘master;//数据库名称
   dbWork.Params.Values['PASSWORD'] := sPass ;//用户密码
  dbWork.Connected:=True;

4)        Postgrd SQL数据库的连接(ODBC连接)

  dbWork.Connected    := False
  dbWork.DriverName  := 'PostgreSQL';
 dbWork.Params.Values['ODBC DSN'] := 'PgSQL';/ /数据源名称
  dbWork.Params.Values['SERVER NAME'] := sServer ;//数据库服务器名称
  dbWork.Params.Values['USER NAME'] := sUse ;//用户名称
  dbWork.Params.Values['DATABASE NAME'] := ‘master;//数据库名称
  dbWork.Params.Values['PASSWORD'] := sPass ;//用户密码
  dbWork.Connected:=True;

 PS:ODBC连接时,请保证odbc驱动安装正确;并且有设置odbc;

附自动设置odbc代码:

// sDriName 驱动程序名 (PostgreSQL)

// sDsnName 数据源名

function CreateDSN(sDriName,sDsnName:string): boolean;

var

  regTmp: TRegistry;

  sTmp: String;

begin

  Result:= True;

  regTmp:= TRegistry.Create;

  try

    with regTmp do

    begin

      RootKey:= HKEY_LOCAL_MACHINE;

      if openkey('software/ODBC/ODBCINST.INI/'+sDriName,false) then

      begin

        sTmp:= ReadString('driver');

        if sTmp = '' then

        begin

          result:= false;

          exit;

        end;

      end

      else

      begin

        result:= false;

        exit;

      end;

      CloseKey;

      RootKey:= HKEY_CURRENT_USER;

      if openkey('software/ODBC/ODBC.INI/ODBC Data Sources',True) then

      begin

        if not ValueExists(sDsnName) then

          WriteString(sDsnName,sDriName);

      end

      else

      begin

        result:= false;

        exit;

      end;

      CloseKey;

      if openkey('software/ODBC/ODBC.INI/'+sDsnName,True) then

      begin

        if not ValueExists('ServerName') then

          writeString('ServerName','');

        if not ValueExists('DataBase') then

          writeString('DataBase','');

        if not ValueExists('UserName') then

          writeString('UserName','');

        if not ValueExists('Password') then

          writeString('Password','');

        if not ValueExists('Description') then

          writeString('Description','DoWhat Create');

        if not ValueExists('driver') then

          writeString('driver',sTmp);

      end

      else

      begin

        result:= false;

        exit;

      end;

    end;

  finally

    regTmp.CloseKey;

  end;

end;

动态添加ODBC数据源的两种方法

在使用 VC、 VB、 Delphi等高级语言编写数据库应用程序时,往往需要用户自己在控制面板中配置 ODBC数据源。对于一般用户而言,配置 ODBC数据源可能是一件比较困难的工作。而且,在实际应用中...
  • qq1134993111
  • qq1134993111
  • 2014年11月20日 19:34
  • 3246

动态连接数据库及动态建立ODBC,DSN(ZT)

在ODBC数据源里配置数据库,通过这种方式,应用程序的编写变的简单。只需要在应用程序里面指定已经配置好的数据源就可以连接,访问数据库。但是,这种方式也有一定的局限性,需要手工的在ODBC数据源里面配置...
  • SafeF8
  • SafeF8
  • 2004年12月09日 15:28
  • 1443

用数据源(ODBC)创建数据库连接DSN设置

首先应该安装SQL Server Native Client数据源驱动程序,驱动程序可在安装光盘中找到此驱动(类似路径X:\2052_CHS_LP\x64\Setup\x64\sqlncli.msi)...
  • kepa520
  • kepa520
  • 2015年12月25日 14:38
  • 3719

delphi连接mysql不用添加DSN(mysql connector odbc 5.1版)

一、下载安装mysql驱动http://mysql.com/downloads/connector/odbc/二、添加adoconnection,adoquery,使用以下连接字符串http://ww...
  • arbin_he
  • arbin_he
  • 2011年04月28日 00:07
  • 4609

动态连接数据库及动态建立ODBC,DSN(ZT) 选择自 SafeF8 的 Blog

 动态连接数据库及动态建立ODBC,DSN(ZT)在ODBC数据源里配置数据库,通过这种方式,应用程序的编写变的简单。只需要在应用程序里面指定已经配置好的数据源就可以连接,访问数据库。但是,这种方式也...
  • sweetch
  • sweetch
  • 2004年12月18日 20:49
  • 585

动态配置数据源(DSN)

SQLConfigDataSource()   函数被用于动态地添加、修改或删除数据源。函数声明如下:BOOL SQLConfigDataSource(HWND hwndParent,UINT fRe...
  • u010828648
  • u010828648
  • 2016年05月03日 22:12
  • 150

delphi 获取ODBC DSN名称

procedure TForm1.Button3Click(Sender: TObject); Var reg: TRegistry; Begin reg := TRegistry.Creat...
  • anyqu
  • anyqu
  • 2012年01月04日 16:22
  • 1083

【数据库】——ODBC数据源管理器 和 三种DSN(还记得是自己用过吗?)

ODBC数据源管理器 ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的...
  • z15732621736
  • z15732621736
  • 2015年08月13日 21:40
  • 1463

ODBC文件DSN 的结构

                       ODBC文件DSN 的小秘密1. 用附件带的WORDPAD文本编辑器,  建立一后缀名为 .DSN的文件,  格式如下, 然后按文本格式存起来:注意: 格...
  • greenlea
  • greenlea
  • 2000年12月14日 18:44
  • 936

Windows下使用Python通过ODBC/ADO访问数据库

关键词:Python 数据库 ODBC ADOPython的确是一个很好的脚本语言,简洁而且功能很强。可惜文档资料奇缺,最近学Python,手里唯一的一本《Python技术参考大全》已经过时很久了。想...
  • WOOOLF
  • WOOOLF
  • 2005年03月22日 13:44
  • 3358
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态连接数据库及动态建立odbc’dsn的delphi实现
举报原因:
原因补充:

(最多只允许输入30个字)