用BDE连接MSSQL怎么用NT认证方式?另外,如果用sa,我的MSSQL的sa密码非空,用BDE怎么连接MSSQL呢?急,高分答谢!

解决方案 »

  1.   

    好象需要设置ODBC吧?或者通过Database Desktop工具设置别名就行了,此工具就在DELPHI的开始菜单中
      

  2.   

    采用某种认证是在SQL里边设置的,并不是说采用何种连接方式
      

  3.   

    BDE设置好后双击启动就会要求输入密码
    新建一个 MSSQL 连接,USER NAME中填写连接数据库的用户名称,SERVER NAME中填写本机名称,DATABASE NAME中填写数据库名称。
    如果是本地数据库,HOST NAME不要填写,如果不是本地数据库要在HOST NAME中填写连接的服务器名称,然后在SQLQRYMODE中选择SERVER。
      

  4.   

    问题我已经解决!提供测试源码如下,以前用ADO,好久用BDE,所以麻烦大家了!
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, Buttons, Provider, inifiles,
      DBClient, DBLocal, DBLocalB;type
      TForm1 = class(TForm)
        Table1: TTable;
        Query1: TQuery;
        Database1: TDatabase;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        BitBtn1: TBitBtn;
        Session1: TSession;
        procedure BitBtn1Click(Sender: TObject);
        procedure Database1Login(Database: TDatabase; LoginParams: TStrings);
        procedure FormCreate(Sender: TObject);
        procedure Session1Password(Sender: TObject; var Continue: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
        Login_username ,  Login_password ,stationid  :  string  ;
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);
      var
        str  : string ;
    begin
       database1.LoginPrompt  := false ;
       str := 'select shift  from  image'+formatdatetime('yyyymm',now)+stationid ;
       query1.Close ;
       query1.sql.Clear ;
       query1.SQl.Add(str) ;
       query1.Open  ;
    end;procedure TForm1.Database1Login(Database: TDatabase;
      LoginParams: TStrings);
    begin
      database1.Params.Values['USER NAME'] := Login_username ;
      database1.Params.Values['Password'] := Login_password ;
    end;procedure TForm1.FormCreate(Sender: TObject);
       var
         myini  :  Tinifile ;
    begin
        myini  := Tinifile.Create('.\setup.ini');
        stationid :=  myini.ReadString('application','stationid','0800001') ;    Login_username :=  myini.ReadString('database','username','sa') ;
        Login_password :=  myini.ReadString('database','password','sa') ;    database1.Params.Values['USER NAME'] := Login_username ;
        database1.Params.Values['Password'] := Login_password ;    myini.Free ;
    //  Session1.Active:=false;
    //  Session1.AddPassword('sa');
    //  Session1.Active:=true;
    end;procedure TForm1.Session1Password(Sender: TObject; var Continue: Boolean);
    begin
      // Session1.AddPassword('sa');
    end;end.