• Delphi动态配置ODBC数据源--SQL Server版本


    (摘自)http://jxlearnew.blog.163.com/blog/static/549786592007102451431413/

    这里介绍一种用Delphi来实现动态注册的方法,希望对各位有所帮助.
    这里我们直接使用ODBCCP32.DLL中提供的SQLConfigDataSource函数来实现,该函数在在Delphi中可声明如下:
    //配置ODBC数据源,成功则返回True
    function SQLConfigDataSource(
    hwndParent: Integer;
    fRequest: LongInt;
    lpszDriverString: string;
    lpszAttributes: string
    ): LongBool; stdcall; external ''''ODBCCP32.DLL'''';
    参数说明:
    1、hwndParent: 父窗口Handle,当指定为0时不会出现对话框,否则会弹出标准的ODBC配置对话框
    2、fRequest: 命令请求,用来指明你要完成的功能,其值可为:
    ODBC_ADD_DSN = 1;
    ODBC_CONFIG_DSN = 2;
    ODBC_REMOVE_DSN = 3;
    ODBC_ADD_SYS_DSN = 4;
    ODBC_CONFIG_SYS_DSN = 5;
    ODBC_REMOVE_SYS_DSN = 6;
    3、lpszDriverString: 驱动程序名称,就是在ODBC设置中显示的驱动程序名称,如SQL Server以及 Microsoft Access Driver (*.mdb)
    4、lpszAttributes: 此DSN的一些属性,可有多项,各项之间用分号(;)分隔

    首先在Delphi中对以上函数进行声明之后,接下来的步骤如下:
    1、声明常量:
    const
    ODBC_ADD_DSN = 1;
    ODBC_CONFIG_DSN = 2;
    ODBC_REMOVE_DSN = 3;
    ODBC_ADD_SYS_DSN = 4;
    ODBC_CONFIG_SYS_DSN = 5;
    ODBC_REMOVE_SYS_DSN = 6;
    2、在Form中放入一个Button,在其事件中写
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    SQLConfigDataSource(0,
    ODBC_ADD_SYS_DSN,//~换成Handle就是手工配置
    'SQL Server', //数据库类型
    'DSN=house'#0 + //数据源名称
    'Server=(local)'#0 + //SQL Server服务器名
    'Database=房屋销售数据库'#0 + //数据库名称
    'Description=动态配置ODBC'#0 //描述
    );
    end;
    单击Button1后,数据源house的信息就已经成功写入到注册表中
    以上方法已经在Delphi 7.0下测试通过,不过在应用本方法前首先确保你的机器上已经正确安装了Microsoft SQL Server2000数据库系统,并且 Database = 房屋销售数据库 是存在的,否则可能会产生未知的错误。

  • 相关阅读:
    面试口试技巧
    windbg+psscor2查看方法源代码
    用UIScrollView做一个支持两点触控缩放图片
    vs2008使用过AnkhSVN后不能绑定到vss的问题解决
    IOS开发之手势——UIGestureRecognizer 共存(转)
    windbg创建dump文件
    面向.NET开发人员的WinDbg入门教程(转)
    Vector:no such file or directory解决
    .net调试插件sosex的mk命令显示调用堆栈
    NSString 中包含中文字符时转换为NSURL
  • 原文地址:https://www.cnblogs.com/yzryc/p/7649715.html
Copyright © 2020-2023  润新知