我有一个包含多个VARCHAR2(n)列的表(每列的"n"不同)。我通过 OCCI 库从C++应用程序访问该表。有没有办法使用 OCCI 库获取色谱柱的此极限值 (n)?
这可以使用元数据来完成。下面是示例:
MetaData metaData = connection->getMetaData((utext*)L""TableName"", MetaData::PTYPE_TABLE);
vector<MetaData> metaDataVector = metaData.getVector(MetaData::ATTR_LIST_COLUMNS);
for (UINT i = 0; i < (UINT)metaDataVector.size(); i++)
{
if(metaDataVector[i].getInt(MetaData::ATTR_DATA_TYPE) == OCCI_SQLT_CHR)
columnInfo.size = metaDataVector[i].getInt(MetaData::ATTR_DATA_SIZE);
}