怎么样通过Delphi的程序动态建立一个ODBC和SQL Server的连接?

解决方案 »

  1.   

    function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL'; //函数定义Procedure CreateODBCDataSource;
    var  
      DSN:string;
      Server:string;
      DBName:string;
    begin
      DSN:='DSNName1';
      Server:='ServerName1';
      DBName:='DBName1';
      if (DSN<>'') and (Server<>'') and (DBName<>'') then
      begin
        //创建ODBC数据源。注意:通过它链接数据库时需要带用户名、密码
    //就是你的应用调用时需要dsn后面带用户名密码
        SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server',
                          'DSN='+ DSN + chr(0) +
                          'Server='+ Server + chr(0) +
                          'Database='+ DBName + chr(0) +
                          'Description=ODBC Source'+ chr(0));
      end;
    end;
      

  2.   

    不需要建立ODBC,自动用OLEDB连接SQLSERVER就行了呀
      

  3.   

    function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL'; //函数定义Procedure CreateODBCDataSource;
    var  
      DSN:string;
      Server:string;
      DBName:string;
    begin
      DSN:='DSNName1';
      Server:='ServerName1';
      DBName:='DBName1';
      if (DSN<>'') and (Server<>'') and (DBName<>'') then
      begin
        //创建ODBC数据源。注意:通过它链接数据库时需要带用户名、密码
    //就是你的应用调用时需要dsn后面带用户名密码
        SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server',
                          'DSN='+ DSN + chr(0) +
                          'Server='+ Server + chr(0) +
                          'Database='+ DBName + chr(0) +
                          'Description=ODBC Source'+ chr(0));
      end;
    end;