원인은.. POCO에서 MYSQL의 TIMESTAMP 타입을 지원 하지 않아서 생긴 문제.
이를 해결 하기 위해서 POCO라이브러리 소스를 아래와 같이 수정 한 후에 재 컴파일 해준다.
POCO 소스 폴더에서 Data/MySQL/src/ResultMetadata.cpp 의 내용을 아래와 같이 수정
std::size_t fieldSize(const MYSQL_FIELD& field)
/// Convert field MySQL-type and field MySQL-length to actual field length
{
...
case MYSQL_TYPE_DATE:
case MYSQL_TYPE_TIME:
case MYSQL_TYPE_DATETIME:
case MYSQL_TYPE_TIMESTAMP: // <-- add this line
return sizeof(MYSQL_TIME);
...
}
Poco::Data::MetaColumn::ColumnDataType fieldType(const MYSQL_FIELD& field)
/// Convert field MySQL-type to Poco-type
{
...
case MYSQL_TYPE_DATETIME:
case MYSQL_TYPE_TIMESTAMP: // <-- add this line
return Poco::Data::MetaColumn::FDT_TIMESTAMP;
...
}