我用PRO*C写了一个连接数据的测试程序,但是在运行时报了TNS-12538的错误信息。int db_login(un,pd,cs)
char *un,*pd,*cs;
{
        EXEC SQL BEGIN DECLARE SECTION;
        char err_msg[128];
        size_t buf_len, msg_len;
        VARCHAR username[30];
        VARCHAR password[30];
        VARCHAR dbstring[30];
        EXEC SQL END DECLARE SECTION;        /*set oracle option*/
        EXEC ORACLE OPTION( ORACA = YES );
        EXEC ORACLE OPTION( RELEASE_CURSOR = YES );        strcpy(username.arr,un);
        username.len=strlen( username.arr );
        strcpy(password.arr,pd);
        password.len=strlen( password.arr );
        strcpy(dbstring.arr,cs);
        dbstring.len=strlen( dbstring.arr );
        EXEC SQL CONNECT :username IDENTIFIED BY :password USING :dbstring;
        if( sqlca.sqlcode ){
                printf("Connet to Oracle error,user:[%s],passwd:[%s],dbstring:[%s]\n",username.arr,password.arr,dbstring.arr);
                buf_len = sizeof(err_msg);
                sqlglm(err_msg, &buf_len, &msg_len);
                err_msg[msg_len]='\0';
                printf("sqlerr:[%s]\n",err_msg);
                return -1;
        }
        printf("Connet to Oracle as user:[%s]\n",username);
        return 0;
}运行时报错:
sqlerr:[ORA-12538: TNS:no such protocol adapter]