delphi中用BDE通过 ODBC连接sybase12.5怎么设置数据源啊 ?
各位兄弟快帮帮忙啊,急S了!

解决方案 »

  1.   

    在“控制面板--->ODBC--->数据源”
      

  2.   

    这个我当然知道了,现在连是可以连,如果不用ODBC数据库的内容读出来是乱码!现在用ODBC也可以了,数据库内容的显示是正常的,但是在插入的时候写进去的还是乱码,会报错!
      

  3.   

    dbexpress直接连sybase不就行了,为什么你要用bde,odbc?
      

  4.   

    我的dbexpress中怎么都看不到sybase的驱动啊?
    我的程序已经写好了,以前是BDE连的,现在换了台机子才有问题的,现在改dbexpress不是很麻烦吗!
      

  5.   

    靠,真烦人,跟你说了Dbexpress直接连接Sybase,用什么ODBC,看看下面的代码:变量:
    conpub:TSQLConnection;
    dspub:TSQLDataSet;
    dsppub:TDataSetProvider;
    cdspub:TClientDataSet;生成:try
      //生成连接组件
      conpub:=TSQLConnection.Create(self);
      dspub:=TSQLDataSet.Create(self);
      dsppub:=TDataSetProvider.Create(self);
      cdspub:=TClientDataSet.Create(self); //CommandText只读,要用dsp
      //dsrcpub:=TDataSource.Create(self); //备用
      //设置公共连接管道
      conpub.Connected:=False;
      conpub.ConnectionName:='ASEConnection';
      conpub.DriverName:='ASE';
      conpub.GetDriverFunc:='getSQLDriverASE';
      conpub.KeepConnection:=True;
      conpub.LibraryName:='dbexpase.dll';
      conpub.LoadParamsOnConnect:=False;
      conpub.Name:='con_public';
      conpub.TableScope:=[tsTable,tsView];
      conpub.VendorLib:='libct.dll;libcs.dll';
      conpub.LoginPrompt:=False;
      with conpub.Params do
         begin
           Add('DriverName=ASE');
           Add('HostName='+你的服务器);
           Add('DataBase='+你的数据库);
           Add('User_Name='+用户名);
           Add('Password='+密码);
           Add('BlobSize=-1');
           Add('ErrorResourceFile=');
           Add('LocaleCode=0000');
           Add('ASE TransIsolation=ReadCommited');
         end;
      //d7及d7前必须指定Name属性不然ClientDataSet无法找到DataSetProvider
      //d8不稳定没用不清楚
      //d2005可直接用name属性
      dsppub.Name:='ProviderPub';
      dspub.SQLConnection:=conpub;
      dsppub.DataSet:=dspub;
      cdspub.ProviderName:=dsppub.GetNamePath;
      //dsrcpub.DataSet:=cdspub; //备用
      //设置属性
      dspub.CommandType:=ctQuery;
      //dsrcpub.AutoEdit:=false; //备用
      //不准更改数据
      cdspub.ReadOnly:=true; //我为了防止更改数据设的,你自己改
      //建立连接
      conpub.Connected:=true;
      Application.ProcessMessages;
    except
      on e:Exception do
        MessageBox(Handle,PChar('登录失败!'+e.Message),'错误',MB_OK+MB_ICONSTOP);
    end;释放:
    cdspub.Free;
    dsppub.Free;
    dspub.Free;
    conpub.Free;都说了直接连了,还用ODBC,唉,,,
      

  6.   

    补一下:
    发布程序时带是 dbexpress.dll(borland的)
    libct.dll libcs.dll libcomn.dll (这三个是sybase的)
      

  7.   

    人家楼主的程序都已经做完了,只是现在连不上数据库了。 你让人家用dbExpress,那需要改的地方很多。