我的程序是在delphi6+sql2000+ado2.8下生成的,打包后移植到客户机,客户机安装了mdac2.8,程序启动先连接数据库服务器,有个界面让他选择连接,服务器列表是把机器名列出了,但是在点机对应服务器的数据库列表时,却报“未找到提供程序。该程序可能未正确安装”的意外,客户端的ado版本也是2.8的,应该不是版本不一致引起的,代码如下:
  with ds1 do //ds1是adodataset
  begin
    CommandType := cmdText;
    ConnectionString := DBADOConnectionString; //dbadoconnectionstring是连接字符串,连接的是服务器
    CommandText := 'select name from master.dbo.sysdatabases';
    prepared := true;
    open; //执行到这里时候报了“未找到提供程序。该程序可能未正确安装“的错  
    if RecordCount > 0 then
      Result := True;
    close;”
    if RecordCount > 0 then
      Result := True;
    close;
  end;现已经临近子夜,但是我的问题还没有解决,已经困扰我3天了,明天就要拿到客户那里安装了,请各位高手帮帮忙,就救急阿

解决方案 »

  1.   

    应该还是connectionString的问题
    既然选择了机器名,就应该有Format(DBADOConnectionString,[someMachine])之类的代码
      

  2.   

    将DBADOConnectionString中服务器名称改成服务器IP地址,试试看
      

  3.   

    connectionString没有问题的,它的值是
    Provider = SQLOLEDB.1; Persist Security Info = false;' +
            'User ID = sa; Data Source = nuonuo; Password = 23456;
      

  4.   

    Provider = SQLOLEDB.1; Integrated Security=SSPI;Persist Security Info = false;' +
            'User ID = sa; Data Source = nuonuo; Password = 23456;