怎么判断他是sqlserver还是oracle呢?

解决方案 »

  1.   

    当ADOCONNECT 打开以后 连接的Provider属性决定了是sqlserver还是oracle
      

  2.   

    uses
      Registry;
    procedure TForm1.btn1Click(Sender: TObject);
    var
      Reg:TRegistry;
      DataSource, DBServerName:string;
      SemicolonPos:Integer;
    begin
      Reg:=TRegistry.Create;
      try
        Reg.RootKey:=HKEY_CURRENT_USER;
        Reg.OpenKeyReadOnly('Software\ODBC\ODBC.INI\ODBC Data Sources');
        DataSource:=Copy(con1.ConnectionString, Pos('Data Source=', con1.ConnectionString),
                    Length(con1.ConnectionString)); //得到Data Source后面的字符串
        SemicolonPos:=Pos(';', DataSource);
        DataSource:=Copy(DataSource, Length('Data Source=')+1,
                    SemicolonPos-Length('Data Source=')-1); //得到Data Source的值
        DBServerName:=Reg.ReadString(DataSource);
        ShowMessage(DBServerName); //显示数据库服务器的类型
      finally
        Reg.CloseKey;
        Reg.Free;
      end;
    end;
      

  3.   

    用select @@version看返回的字符串是否有sql server这样的字符了没用过oracle,应该也支持