频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

如何动态设置ODBC源的技巧

来源: 作者:Paladin 出处:巧巧读书 2005-11-29 进入讨论组
很多时候程序员需要自动生成ODBC数据源,而不是指导客户"打开控制面板… … ",到底如何去做呢?相信很多人会选择编程修改注册表来实现这项功能,因为ODBC的详细信息全部存放在注册表的下述键值内:

"HKEY_LOCAL_MACHINE\SOFTWARE\ODBC"

修改一下ODBC的配置,通过前后的注册表比较,你可以发现一定的规律。在这里我只是想说,哥们,别这么犯傻了(如果我让你写一个通用的ODBC源处理程序,你得累死),用这个Windows ODBC API函数吧,

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

  了解数据库编程的朋友都知道,数据库的访问方式不论DAO、ADO、ODBC或是BDE或是其它第三方的数据库连接控件,归根结底,都是一些个函数集,只要你愿意,你可以编写出自己的数据库访问方式用以替代。深入研究这些底层函数,很多时候会为你提供相当地便利。
  SQLConfigDataSource这个函数MSDN有详细的说明,我不想整段翻译下来让你扁我,我只是结合流行的SQL Server谈谈如何有技巧的调用该函数。其它的数据库大同小异。

  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));

  这是我的Delphi程序中调用该函数的一个实例,第一个参数是父窗口句柄,设置为0则该函数不显示任何对话框。第二个参数是操作类型,你需要定义如下的操作类型常量: Const
  ODBC_ADD_DSN = 1; // Add a new user data source.
  ODBC_CONFIG_DSN = 2; // Configure (modify) an existing user data source.
  ODBC_REMOVE_DSN = 3; // Remove an existing user data source.
  ODBC_ADD_SYS_DSN = 4; // Add a new system data source.
  ODBC_CONFIG_SYS_DSN = 5; // Modify an existing system data source.
  ODBC_REMOVE_SYS_DSN = 6; // Remove an existing system data source.

  从名字我们知道,要添加ODBC源,我们需要调用的是ODBC_ADD_SYS_DSN 或是ODBC_ADD_DSN参数。第三个参数也没有什么好说的,我们添加的是SQL Server数据库的ODBC源,所以填入'SQL Server'参数,如果需要建立Excel文件的ODBC数据源,我们可以填入'Excel Files (*.xls)',这些字符串参数相信各位同志在添加ODBC源时,已经多次见过。
关键的是第三个参数的设置,不同的数据库类型所支持的关键字是不一样的,这里仅仅就SQL Server所支持的关键字作一个简单说明:
  DSN:你的ODBC数据源名称。
  Server:你的数据库服务器名称,使用(local)指的是本地计算机安装的数据库。注:最新的SQL Server 2000支持一台计算机运行多个SQL Server服务,这个时候你需要指定SqlSever的InstanceName。
  Address:指定SQL Server服务器的网络IP地址
  Database:指定默认数据库名称。
  Language:指定默认语言。
  Description:备注信息。

  详细的参数和信息可以查阅微软网站的以下网址。
  http://msdn.microsoft.com/library/psdk/dasdk/odch3kit.htm
  http://msdn.microsoft.com/library/psdk/sql/od_odbc_c_99yd.htmURL:http://www.qqread.com/database/s250105052.html 更多文章 更多内容请看Office技巧专区网管实用技巧100例ADO.NET实用技巧专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章