Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > MetaData,Oracle


Автор: Alex_79 23.12.2008, 07:23
Всем привет! Вот у меня такая проблема: Нужно  вывести метаданные о столбце таблицы тип которого является пользовательским. Но почему-то не выводится TYPECODE.Хотя когда непосредственно обращаешься к пользовательчкому типу,то всё работает. Подскажите пожалуйста в чем проблема

Код

#include <occi.h>
#include <iostream>
#include <stdio.h>
#include <string>
#include <stdexcept>
#include <vector>
using namespace std;
using namespace oracle::occi;
int _tmain(int argc, _TCHAR* argv[])
{
    vector<MetaData> c1;
 try
    {
    
    Environment* env = Environment::createEnvironment(Environment::OBJECT);  
    Connection* conn = env->createConnection("SCOTT","alex7","SASH");
  

    MetaData metaData=conn->getMetaData((char*)"tab_experiment",MetaData::PTYPE_TABLE);
     
    vector<MetaData> listOfColumns;
    listOfColumns=metaData.getVector(MetaData::ATTR_LIST_COLUMNS);

    cout<<"Schema:"<<metaData.getString(MetaData::ATTR_OBJ_SCHEMA)<<endl;
    
    MetaData column=listOfColumns[1];

    
    cout<<"Name of column: "<<column.getString(MetaData::ATTR_NAME)<<endl;
    cout<<"Data Size: "<<column.getInt(MetaData::ATTR_DATA_SIZE)<<endl;

        
     cout<<"ATTR_TYPECODE:"<<column.getInt(MetaData::ATTR_TYPECODE)<<endl;
 }
  catch(SQLException &sqlExcp)
    {
   cerr << sqlExcp.getMessage() << endl;
   }
  int b;
 b=getchar();
 
  return 0;

}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)