今天用java连接sqlserver 2005的多实例时,发现总是报错"error while performing database login with the xxx driver,";
在网上找到一篇文章,如下:
java语言中,通过jdbc访问sqlserver2005数据库默认实例可以按正常的写法来建立url连接,代码如下:
Connection cn = DriverManager.getConnection("jdbc:sqlserver://172.16.5.2:1433; DatabaseName=EAS60_Demo", "sa","sa");
其中172.16.5.2为sqlserver2005数据库ip,EAS60_Demo为数据库。
那么对于多实例(实例名:SQL2005)的数据库又是如何访问?经过查资料和摸索发现url写法如下:
con = DriverManager.getConnection("jdbc:sqlserver://172.16.5.2;instanceName=SQL2005; DatabaseName=EAS60_Demo", "sa","sa");
也可以这样写:
Connection cn = DriverManager.getConnection("jdbc:sqlserver://172.16.5.2//SQL2005; DatabaseName=EAS60_Demo", "sa","sa");
用//实例名的方式,还是提示报错,上一种用instanceName=实例名,可以正确连接.
要改成以下方式:
Connection cn = DriverManager.getConnection("jdbc:sqlserver://172.16.5.2\SQL2005; DatabaseName=EAS60_Demo", "sa","sa");
注意,多实例的url中没有端口号1433。