Re: MS SQL Server, JDBC, and Unicode?
Erland Sommarskog wrote:
Arne Vajh?j (arne@vajhoej.dk) writes:
The following is tested with the MS driver (driver for 2000
against 2000, but I expect 2005 against 2005 to work identical):
I don't know much about JDBC, but I don't think Microsoft JDBC driver
for SQL 2000 has a very good reputation. The SQL 2005 is likely to be
better.
Yes.
But if it works with the bad driver, then it is a fair assumption that
it will also work with the good driver.
But not the other way around.
Statement stmt = con.createStatement();
stmt.executeUpdate("CREATE TABLE unifun (id INTEGER NOT NULL,
data NVARCHAR(50), PRIMARY KEY(id))");
stmt.executeUpdate("INSERT INTO unifun VALUES(1,N'?????? the
wrong way')");
PreparedStatement pstmt = con.prepareStatement("INSERT INTO
unifun VALUES(?,?)");
pstmt.setInt(1, 2);
pstmt.setString(2, "?????? the correct way");
pstmt.executeUpdate();
ResultSet rs = stmt.executeQuery("SELECT id,data FROM unifun");
while(rs.next()) {
System.out.println(rs.getInt(1) + " : " + rs.getString(2));
}
First of all, are you saying that ?????? does not come back correctly?
No.
I am saying that it work perfectly for me.
With the intention of getting the OP to check differences between
what he is doing and what I am doing.
That would be even stranger, since I would expect your ANSI code page
to be 1252, in which case things cannot go wrong.
Things can always go wrong.
But you think the test would be better with a unicode value > 255 ?
Arne