什么是"系统版本"在eclipse"驱动程序定义"?

时间:2016-09-02 23:26:31

标签: java eclipse jdbc

Eclipse Data Tools Platform有一个“驱动程序定义”条目,您可以在其中指明要使用的JDBC驱动程序。添加一个时,向导会要求您从提供的列表中选择“驱动程序模板”。在我的eclipse Neon Java EE版本中,该列表包含[Name = Other Driver;系统供应商=德比;系统版本= 10.2],[名称=其他驱动程序;系统供应商=德比;系统版本= 10.1]。我看不出这两个模板之间的区别,只是因为向导(预期)它们最终会得到不同的指示系统版本。但是,在这两种情况下(选择10.2行或10.1行),当向导要求包含驱动程序的jar时,我使用包含10.10版本的jar,因此这表示系统版本在两种情况下都不正确。

我的问题是:eclipse如何使用这些版本号?如果它不使用它们,为什么eclipse会打扰显示不同版本的不同条目的列表?如果我使用的驱动程序版本与指定的版本不匹配,是否会出现问题?我应该以某种方式告诉eclipse我使用的正确版本吗?

1 个答案:

答案 0 :(得分:2)

系统版本是目标数据库的受支持(最低)版本。更高版本的定义可以包含该数据库版本的新功能,关键字,数据类型等。换句话说:改进/关闭对您要定位的数据库版本的支持。

例如,Derby 10.1 definitionDerby 10.2 definition之间的差异是blob报告的默认长度:

在10.1中:

<predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_1" lengthSupported="true" 
    defaultLength="1024" maximumLength="2147483647" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob">

在10.2:

<predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_1" lengthSupported="true" 
    defaultLength="2147483647" maximumLength="2147483647" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob">

有时可能没有任何区别,但可能会提供一个单独的(相同的)定义,以避免用户混淆以指示支持该版本,并且可以更容易在以后添加更正/改进如有必要,该特定数据库版本。

简而言之:使用与您目标版本最接近(但低于或等于)的版本;在这种情况下:使用10.2定义。