com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported
10,864
SELECT ProductVersion = CAST(SERVERPROPERTY('ProductVersion') AS NVARCHAR(128)),
ProductLevel = CAST(SERVERPROPERTY('ProductLevel') AS NVARCHAR(128)),
Edition = CAST(SERVERPROPERTY('Edition') AS NVARCHAR(128))
Author by
Peter Penzov
Updated on June 19, 2022Comments
-
Peter Penzov almost 2 years
I want to create simple Java code which displays MSSQL server version:
public void testMSSQLVersion() throws Exception { System.out.println("\nTesting SQL query for MSSQL version\n"); try { // Load the SQLServerDriver class, build the // connection string, and get a connection Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "database=master;" + "user=admin;" + "password=dss!Q;"; Connection con = DriverManager.getConnection(connectionUrl); System.out.println("Connected."); // Create and execute an SQL statement that returns some data. String SQL = "SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY('productlevel'), SERVERPROPERTY('edition')"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SQL); // Iterate through the data in the result set and display it. while (rs.next()) { System.out.println(rs.getString(1)); } } catch (Exception e) { e.printStackTrace(); } }
But when I run the code I get this error:
com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) at com.microsoft.sqlserver.jdbc.TypeInfo$Builder$16.apply(dtv.java:1996) at com.microsoft.sqlserver.jdbc.TypeInfo$Builder.build(dtv.java:2158)
Is there any solution for this problem?