案例1:我正在尝试使用
连接到位于远程服务器上的sql-server 2005数据库Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connection = DriverManager.getConnection("jdbc:sqlserver://190.128.4.195/unicodedemo?user=ab&password=ab@Admin&useUnicode=true&characterEncoding=UTF-8");
当我执行时,我得到以下异常:
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 190.128.4.195/unicodedemo?user=ab&password=ab@Admin&useUnicode=true&characterEncoding=UTF-8, port 1433 has failed. Error: "null. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
案例2 但是当我尝试使用
的数据源名称时Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
connection = java.sql.DriverManager.getConnection("jdbc:odbc:unidemo","ab","ab@Admin");
数据已成功插入,但在这种情况下,它未显示插入的Unicode数据。它显示为?????
。
有人可以帮忙解决错误吗?当我在案例1中提交时,如何使用第二种情况插入Unicode值(即使用DSN)。
谢谢..
答案 0 :(得分:3)
案例1: SQL Server的连接URL格式如下:
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
这意味着您应该将连接网址更改为
jdbc:sqlserver://190.128.4.195;databaseName=unicodedemo;user=ab;password=ab@Admin;useUnicode=true;characterEncoding=UTF-8
答案 1 :(得分:0)
尝试像这样使用,对我有用:
jdbc:sqlserver://190.128.4.195\instanceName:1433;databaseName=unicodedemo;user=ab&password=ab@Admin&useUnicode=true&characterEncoding=UTF-8