菜鸟求救:在delphi中需要使用将sybase中一些表的数据导入到sql server数据库中,我使用Tdatabase来连接远端的sybase数据库,而我的电脑上没有安装sybase客户端,但是在
Tdatabse中的drivername列表中已经有SYBASE选项,然后我在params中增加参数
SERVER NAME=SBsvr
DATABASE NAME=SBtbl
USER NAME=SBuser
PASSWORD=SBpwd然后连接的时候没有办法连上。
1。这样的连接方法对不对?
2。是不是客户端一定要安装了sybase客户端才可以连上去?
3。能否像连接远端的SQL Server一样,只有客户端存在ntwdblib.DLL这些文件就可以连接成功,还需要设置注册表参数吗?

解决方案 »

  1.   

    http://www.sybase.com/detail/1,6904,1010193,00.html
      

  2.   

    http://www.fcc.com.cn/jrtd/jishu/sjk2.htmprocedure TMainForm.DBConnectCreate;
    // 建立 DBConnect,打开 DBConnect
    begin
    DB1 := TDatabase.Create(Self);
    with DB1 Do
    begin
    // 注意排列顺序及大小写
        SessionName :=‘Default'; // 默认的 Session
        DriverName :=‘sybase'; // 数据库驱动程序
        Params.Clear;
        Params.Add(‘SERVER NAME=myserver’); // 服务器名
        Params.Add(‘DATABASE NAME=customerdb’); // 数据库名
        Params.Add(‘USER NAME=sa’); // 用户名
        Params.Add(‘PASSWORD=mypass’); // 用户口令
        DatabaseName :=‘mydb’; // 定义一个专用的别名
        LoginPrompt:=False; // 登录时不弹出标准的登录对话框
        Connected := True; // 打开连接
    end;
    end;{*******************
    另一种写法:
    procedure TMainForm.DBConnectCreate;
    // 建立 DBConnect
    var
        MyList: TStringList;begin
        //建立 Alias
        Session.DeleteAlias(‘SQLAlias'); // Session 是默认的TSession 对象
    MyList := TStringList.Create;
    try
    with MyList do
    begin
    Add(‘SERVER NAME=myserver');
    Add(‘DATABASE NAME=customerdb ');
    Add(‘USER NAME=sa');
    end;
    Session.AddAlias(‘SQLAlias', ‘Sybase', MyList); // 建立 BDE 别名
    finally
    MyList.Free;
    end;//建立 Database 控件,打开 DBConnect
    DB1 := TDatabase.Create(Self);
    with DB1 Do
    begin
    //注意排列顺序及大小写
    SessionName :=‘Default’; // 默认的 Session
    AliasName :=‘SQLAlias’;// 自定义的 BDE 别名
    DatabaseName :=‘mydb’;// 定义一个专用的别名
    Params.Add(‘PASSWORD=mypass’);
    LoginPrompt := False;
    Connected := True;
    end;
    end;
    *********************}