2
有沒有使用JDBC實現來識別SQL Server版本的方法?我特別想識別2008年和2012年。使用JDBC識別SQL Server版本
動機:2008不支持OFFSET,但2012年。所以,我需要在我的應用程序中添加條件代碼來適當地修改SQL查詢。
有沒有使用JDBC實現來識別SQL Server版本的方法?我特別想識別2008年和2012年。使用JDBC識別SQL Server版本
動機:2008不支持OFFSET,但2012年。所以,我需要在我的應用程序中添加條件代碼來適當地修改SQL查詢。
import java.sql.*;
/**
* Microsoft SQL Server JDBC test program
*/
public class Test {
public Test() throws Exception {
// Get connection
DriverManager.registerDriver(new
com.microsoft.jdbc.sqlserver.SQLServerDriver());
Connection connection = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://<Host>:1433",<"UID>","<PWD>");
if (connection != null) {
System.out.println();
System.out.println("Successfully connected");
System.out.println();
// Meta data
DatabaseMetaData meta = connection.getMetaData();
System.out.println("\nDriver Information");
System.out.println("Driver Name: "
+ meta.getDriverName());
System.out.println("Driver Version: "
+ meta.getDriverVersion());
System.out.println("\nDatabase Information ");
System.out.println("Database Name: "
+ meta.getDatabaseProductName());
System.out.println("Database Version: "+
meta.getDatabaseProductVersion());
}
} // Test
public static void main (String args[]) throws Exception {
Test test = new Test();
}
}
編譯
編譯Java源:Test.java(全部在同一行):
$ javac -classpath ".;./lib/mssqlserver.jar;
./lib/msbase.jar;./lib/msutil.jar" Test.java
請注意,您需要在您的計算機或媒體訪問javac的程序。如果不是,只需指定javac之前的完整路徑。上述命令適用於Java 2.如果您正在使用Java 1.1.8,請將JDK的classes.zip添加到類路徑中。在Unix系統上用冒號「;」替換分號:「」正斜槓「/」適用於兩種平臺,在Windows上使用反斜槓「\」不是必須的。
運行它
到編譯類似,你可以像這樣(再次全部在一行中)運行:
$ java -classpath ".;./lib/mssqlserver.jar;
./lib/msbase.jar;./lib/msutil.jar" Test
輸出看起來是這樣的:
Successfully connected
Driver Information
Driver Name: SQLServer
Driver Version: 2.2.0022
Database Information
Database Name: Microsoft SQL Server Database Version:
Microsoft SQL Server 2000 8.00.194 (Intel X86)
Aug 6 2000 00:57:48
Copyright (c) 1988-2000 Microsoft Corporation
Enterprise Edition on Windows NT 5.0
(Build 2195: Service Pack 2)
我相信我在這裏找到了答案http://stackoverflow.com/questions/18753886/sql-server-file-names-vs-versions。 -Thanks – MAmateur 2014-10-07 10:04:14
'DatabaseMetaData.getDatabaseMajorVersion()'''DatabaseMetaData.getDatabaseMinorVersion()' – 2014-10-07 10:27:36