读书人

关于c++ builder用BDE连接Sybase的有关

发布时间: 2012-02-13 17:20:26 作者: rapoo

关于c++ builder用BDE连接Sybase的问题
没用过Sybase,呵呵,所以问题有点傻

我现在机器上装了一个Sybase 12.5的版本,然后在上面建立了一个自己的数据库posht,为这个库建立了一个用户,用户名为wqlm888,密码也是wqlm888.我的机器名为SD-SWJ.
如果我现在想用BDE去连的话,
AnsiString username ="USER NAME=wqlm888";
AnsiString servername = "SERVER NAME=SD-SWJ";
AnsiString dataname = "DATABASE NAME=posht";
AnsiString pass = "PASSWORD=wqlm888";
TDatabase *tempdata;
tempdata=new TDatabase(Application);
tempdata->SessionName = "Default";
tempdata->DriverName="SYBASE";
tempdata->Params->Clear();


tempdata->Params->Add(servername);
tempdata->Params->Add(dataname);
tempdata->Params->Add(username);
tempdata->Params->Add(pass);


tempdata->DatabaseName="posht";
tempdata->LoginPrompt=false;

tempdata->Connected = true;

但是程序运行总是报 “Project Project1.exe raised exception class EDBEngineError with message 'General SQL error.
ct_connect(): directory service layer: internal directory control layer error: Requested server name not found.
Alias: posht'. Process stopped. Use Step or Run to continue.”,请问是什么原因呢?


[解决办法]
看错误信息,server name: SD-SWJ在你的interface文件或者sql.ini文件里没有注册。你得先添加这个服务器。

读书人网 >Sybase

热点推荐