Всем привет, кто тут силен в Oracle C++ Call Interface? 

		Environment* env = Environment::createEnvironment(Environment::OBJECT);
		Connection* conn = env->createConnection(db_user_name, db_password, db_conn_str);
		Statement* stmt;
		ResultSet* rs;
		char* buff = new char[1024];
            stmt = conn->createStatement(query.c_str());
            rs = stmt->executeQuery();
            do
            {
                Stream *stream = rs->getStream(1);
                stream->readBuffer(buff, 1024);
                cout << "ok" << endl;
                cout << buff << endl;
                rs->closeStream(stream);
            }while(rs->next());
        stmt->closeResultSet(rs);
		env->terminateConnection(conn);
		Environment::terminateEnvironment(env);
на выходе получаю:
ok
��϶
ok
��϶
а вот еще код:
Environment* env = Environment::createEnvironment(Environment::OBJECT);
		Connection* conn = env->createConnection(db_user_name, db_password, db_conn_str);
		Statement* stmt;
		ResultSet* rs;
		char* buff = new char[1024];
            stmt = conn->createStatement(query.c_str());
            rs = stmt->executeQuery();
            while(rs->next())
            {
                int a = rs->getInt(1);
                string b = rs->getString(6);
                cout << a << endl;
                cout << b << endl;
            }
        stmt->closeResultSet(rs);
		env->terminateConnection(conn);
		Environment::terminateEnvironment(env);
на выходе получаю:
1
manager
т.е. какие поля заказывал те и получил. Смысл в том что не могу никак догнать как мне получать значения и поля таблиц не зная их структуры, вот и пытался выше через поток, но как-то коряво, кто что может посоветовать?