我有一个用C ++实现的数据库,该数据库存储一些自定义数据类型。 我现在正在为该数据库(如果重要的话,使用Java 8)开发JDBC驱动程序。我在Java中重新实现了C ++自定义类型。序列化和反序列化工作正常,唯一剩下的问题是JDBC驱动程序公开这种类型的正确方法是什么?
ResultSetMetaData.getColumnType()
和DatabaseMetaData.getTypeInfo()
,并且必须返回一些常量,我发现了两个很有希望的变量:OTHER
和JAVA_OBJECT
实际上,我已经使用SQirreL测试了这两种类型,但它们都不起作用。对于JAVA_OBJECT
,它为列中的所有条目显示"Unknown type"
,对于OTHER
,它显示"OTHER"
。我只能通过将我的类型声明为NVARCHAR
并返回其String表示形式来使其工作。
这是SQirreL的问题还是应该以不同的方式公开我的类型?
而且,由于我在该主题上找不到任何东西,我想知道是否会存在支持自定义类型的现有客户端?
如果否,我可能应该将它们声明为NVARCHAR
并返回其String表示形式。