linux C 下调用 DB Library 来调用SQLSERVER2005中的存储过程中,在dbrpcsend时遇到错误!
LOGINREC *g_mssql_loginrec=NULL;
if(dbinit() <0)
{
TRACK("the Result :%08x",E_KEYOPT_VPN_SQL_INIT_ERROR);
}
if(g_mssql_loginrec==NULL)
{
g_mssql_loginrec1 = dblogin();
}
DBSETLUSER(g_mssql_loginrec1,"sa");
DBSETLPWD(g_mssql_loginrec1,"sa");
DBSETLAPP(g_mssql_loginrec1, "Gate");
DBPROCESS *pdbprocess = dbopen(g_mssql_loginrec, "192.168.60.1");
if(dbuse(pdbprocess, cDBName) == FAIL)
{
TRACK("Open DBName failure");
}
if (pdbprocess==FAIL)
{
TRACK("the Result :%08x",E_KEYOPT_VPN_SQL_DATABASE_OPEN_ERROR);
}
if (dbrpcinit(pdbprocess, "Validity_Judge", (DBINT)0) == FAIL)
{
TRACK("the Result :%08x",E_KEYOPT_VPN_SQL_QUERY_STOREPROCESS_ERROR);
}
if (dbrpcparam(pdbprocess, "@iResult", (BYTE)DBRPCRETURN,0x38, -1, 0, (unsigned char*)iRetuID)== FAIL)
{
TRACK("the Result :%08x",0x0D38);
}
if (dbrpcparam(pdbprocess, "@serialID", (BYTE)NULL, SQLCHAR, -1, strlen(cCertID), (unsigned char *)dbCertID)== FAIL)
{
TRACK("the Result :%08x",E_KEYOPT_VPN_CERTID_PASS_ERROR);
}
if (dbrpcsend(pdbprocess) == FAIL)
{
TRACK("dbrpcsend error!");
}
在调用 dbrpcsend 时就会返回错误,难到是不支持SQL2005 ,请教各位!