在ODBC数据源里配置数据库,通过这种方式,应用程序的编写变的简单。只需要在应用程序里面指定已经配置好的数据源就可以连接,访问数据库。但是,这种方式也有一定的局限性,需要手工的在ODBC数据源里面配置。需要教会程序的使用者如何去配置,而且,如果一不小心更改了ODBC数据源的配置(也许是无意的)。就会造成连接数据库失败。这时候,程序的使用人员也许会一筹莫展,束手无策。
在form或Data 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,DSN(ZT)相关推荐

  1. ODBC连接数据库使用动态密码

    ODBC连接数据库使用动态密码 | 火苗999℃的博客 先修改使用到的记录集的GetDefaultConnect()函数为: CString CTask_Info::GetDefaultConnect ...

  2. Django系列教程:三、动态视图和动态Url

    注明:python版本为3.3.1.Django版本为1.5.1,操作系统为Windows7,其他版本有一些不同的地方读者可以自行探讨. 前一章我们简略的讲解了下Django的视图和Url的配置,那么 ...

  3. hive动态分区shell_Hive动态分区 参数配置及语法

    Hive本身是不支持动态分区的.. 但动态分区是真的方便啊..不然手动维护要累死..按日期甚至小时来分区时动辄就好几千上万的分区..手动到哪一年去..? 想要用动态分区要先做一些设置来修改默认的配置. ...

  4. SPSS Modeler使用之与数据库建立ODBC连接

    SPSS Modeler的源文件包含sav.txt.xlsx等,这些文件都可以直接导入.但是数据库SQL文件需要Modeler与相应数据库建立ODBC连接. 首先,在控制面板中打开ODBC数据源 点击 ...

  5. 如何建立ODBC数据源

    建立ODBC数据源对于在使用ASP对数据库进行操作时是必要的,虽然他很简单,却是必须的一步.现在我把他记录下来,防止以后我把这部分东西忘掉,也和广大初学者一起分享. 首先进入控制面版的性能和维护部分, ...

  6. paip.odbc DSN的存储与读取

    paip.odbc DSN的存储与读取 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/atti ...

  7. 系统dsn oracle,linux平台配置oracle odbc dsn的方法.docx

    linux平台配置oracle odbc dsn的方法.docx LINUX平台配置ORACLEODBCDSN的方法1DSN配置方法ORACLE11编辑配置文件一.OSRHEL5X86(ORACLED ...

  8. python可视化脉搏和血氧数据并通过阈值动态调整、动态可视化异常值

    python可视化脉搏和血氧数据并通过阈值动态调整.动态可视化异常值的情况 # 导入基础库和包: import sys import os import pandas as pd import num ...

  9. python是高级动态语言_Python动态语言之魅力揭秘

    之前的文章跟大家讲解了鸭子类型,其实鸭子类型是编程语言中动态类型语言中的一种设计风格.今天跟大家一起谈谈动态语言的魅力. 根据维基百科,动态编程语言是这样子定义的:动态编程语言是高级编程语言的一个类别 ...

最新文章

  1. 清华大学人工智能研究院成立基础理论研究中心
  2. 第三方开源项目名称_如何为您的开源项目选择品牌名称
  3. 90后程序员健康现状:掉头发、油腻、腰椎间盘突出……
  4. 【linux】为什么 mmap 比系统调用快
  5. ffmpeg-20160803-bin.7z
  6. 精通反激电源变压器及电路设计-自己的笔记
  7. Mybatis源码阅读之一——工厂模式与SqlSessionFactory
  8. Electron实现Zbar开源工具解码一维码和二维码
  9. Photoshop cc 2019 破解教程
  10. QQ动态表情包如何制作 堪比沙漠骆驼gif
  11. oracle10G 异构方式迁移表空间之二
  12. SpringBoot框架的基本结构
  13. 解读手机相机的各个参数(长曝光)
  14. 电子签名合同的有效期是多久
  15. cnPuTTY CAC 0.78.0.1—PuTTY CAC 0.78中文版本简单说明~~
  16. 武汉移动137和武汉电信189手机业务比较
  17. 在互联网大厂实习之后,我明白了这些事
  18. svn 文件前前面的标识符
  19. google chrome 谷歌浏览器 清除 清空 缓存cookie 快捷键
  20. css实现虚线表格样式

热门文章

  1. java go md5_Go语言中三种不同md5计算方式的性能比较
  2. td外边加div为啥不隐藏_那些不常见,但却非常实用的 css 属性
  3. Linux+Apache+PHP+MySQL服务器环境(CentOS篇)
  4. IHttpModule与IHttpHandler的区别整理
  5. Linux系统下的多线程编程入门
  6. java 索引实现,Java创建ES索引实现
  7. mac使用eclipse创建java_【Java】Mac上使用Eclipse创建Java项目的一般步骤
  8. Mysql练习_MySQL练习(一)
  9. mysql数据库调优知识复习
  10. 转载linux ip命令新手入门