小弟用过delphi连结oracle数据库,通过*.udl文件连结,
对于sqlserver数据库没有接触过,现在需要用delphi连结
sqlserver数据库,管理员给了我一个用户和密码,我也知道
安装sqlserver数据库的ip地址,我用AdoConnection配置了一下
无法连通,请问
1.需要连结数据库的机器需不需要安装sqlserver客户端
2.用户,口令,和机器名称 (ip地址)三个条件是否足够连结成功

解决方案 »

  1.   

    1.一般win2000以上不需要。
    2。应该可以。
    建议用AdoConnection连接。动态写连接字符串。
      

  2.   

    先在界面上放一个AdoConnection控件,双击它或者点击他的CONNNECTION属性,
    有一个连接数据库的向导,一步步执行下去,最后你会得到一个长串,其实这样你就已经连接上数据库了,最好将长串拷贝下来,放到一个.INI文件中,每次连接数据库时都从该.INI文件中读取,这样维护起来方便一点。
      

  3.   

    用AdoConnection该就行了---------------------------
    满屏源代码,一把辐射泪
    都云编程痴,谁解其中味!
      

  4.   

    有一个SYS.INI文件
    其内容如下:
    [SYS]
    CON=Provider=SQLOLEDB.1;Persist Security Info=False;User ID=SA;Initial Catalog=databaseName;Data Source=Your Server Name
    连接过程如下:procedure Tform_DM.DataModuleCreate(Sender: TObject);
    var
     filename:string;
     inifile:Tinifile;
    begin
     helpfilename:=extractfilepath(application.exename)+'document\操作指南.hlp';
     application.HelpFile:=form_dm.helpfilename;
     filename:=extractfilepath(application.exename)+'document\sys.ini';
     inifile:=Tinifile.Create(filename);
     try
      ADOCON_DB.ConnectionString:=inifile.ReadString('SYS','CON','');
      ADOCON_DB.Connected:=true;
      db_suc:=true;
     except
      db_suc:=false;
     end;
     inifile.Free;
    end;
      

  5.   

    用AdoConnection,注意连接时选择数据源Microsoft DB Provider for SQL server
      

  6.   

    怎么没人理我?
    http://expert.csdn.net/Expert/topic/2038/2038874.xml?temp=.3650324
      

  7.   

    用BDE,ADO,OBDC随便你选。看你怎么办吧。
      

  8.   

    给你一个动态的:
    var
     sServerName,sUserID,sPwd: string;
     iniFile: TIniFile;
     sConn: string;
    begin
      MainForm.UpdateClientCount(1);
      IniFile := TIniFile.Create('文件名.ini');
      sServerName := iniFile.ReadString('ADOConnection', 'Server Name', '');
      sUserID := iniFile.ReadString('ADOConnection', 'User ID', '');
      sPwd := iniFile.ReadString('ADOConnection', 'password', '');
      sConn := 'Provider=SQLOLEDB.1;Password= ' + sPwd + ';Persist Security Info=False;User ID= ' + sUserID + ';Data Source=' + sServerName +';';
      sConn := sConn + 'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;';
      sConn := sConn + 'Workstation ID=' + sServerName + ';Use Encryption for Data=False;Tag with column collation when possible=False';
      with dataconn do
      begin
        if Connected then
          Close;
          ConnectionString := sConn;
          Connected := True;
      end; 
    end;