动态连接数据库的配置问题 ACCESS +SQL 2000

     Access的动态配置问题
string path,pathb,dbpath,result
int k
path="HKEY_CURRENT_USER/Software/ODBC/ODBC.INI/dsn_name"
pathb="HKEY_CURRENT_USER/Software/ODBC/ODBC.INI/ODBC Data Sources/"
k=registryget(path, "DBQ", result)
if k<>1  then
 dbpath=GetCurrentDirectory( )+"/db_name.mdb"
 registrySet(path, "DBQ", RegString!,dbpath)
 registrySet(path, "Driver", RegString!,"C:/WINDOWS/system32/odbcjt32.dll")
 registrySet(path, "DriverId", ReguLong!,25)
 registrySet(path, "FIL", RegString!, "MS Access")
 registrySet(path, "UID", RegString!, "")
 registrySet(path, "PWD", RegString!, "")
 registrySet(path, "SafeTransactions", ReguLong!, 0)
 registrySet(pathb, "dsn_name", RegString!, "Microsoft Access Driver(*.mdb)")
end if

配置时可打开注册表,参照一下里面的内容,就知道为什么要这么配置了。


************************************************************************************
   怎样在程序中动态配置连接SQL SERVER的ODBC

建立一个system DSN:

    GetMem(WinDir,256);
    GetWindowsDirectory(WinDir,128);
//
    MyReg:=TRegistry.Create;
    MyReg.RootKey:=HKEY_LOCAL_MACHINE;
    if not MyReg.KeyExists('SoftWare/ODBC/ODBC.INI/_ODBC_Name')then
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/_ODBC_Name',True);
      end
    else
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/_ODBC_Name',False);
      end;
    MyReg.WriteString('Database','_dataBaseName ');
    MyReg.WriteString('Driver',WinDir+'/System32/SQLSRV32.dll');
    MyReg.WriteString('LastUser',_帐号);
    MyReg.WriteString('Server','(local)');
    MyReg.CloseKey;

    if not MyReg.KeyExists('SoftWare/ODBC/ODBC.INI/ODBC Data Sources')then
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/ODBC Data Sources',True);
      end
    else
      begin
        MyReg.OpenKey('SoftWare/ODBC/ODBC.INI/ODBC Data Sources',False);
      end;
    MyReg.WriteString('_ODBC_Name','SQL Server');
    MyReg.CloseKey;
    MyReg.Free;
///
带“_”的为自定义的字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值