没用过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文件里没有注册。你得先添加这个服务器。