Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从Eclipse和JDBC连接到SQL Server express 2012_Java_Sql Server_Eclipse_Jdbc - Fatal编程技术网

Java 无法从Eclipse和JDBC连接到SQL Server express 2012

Java 无法从Eclipse和JDBC连接到SQL Server express 2012,java,sql-server,eclipse,jdbc,Java,Sql Server,Eclipse,Jdbc,我尝试连接到安装在我自己机器上的SQL Server express 2012。 在Ms SQL的属性中,名称为:bghvui535v2\SQLEXPRESS 在Java中,我有: try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); databaseName = "dblfa1;integratedSecurity=true"; String url = "jdbc:sqlserver

我尝试连接到安装在我自己机器上的SQL Server express 2012。 在Ms SQL的属性中,名称为:
bghvui535v2\SQLEXPRESS

在Java中,我有:

try
{
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

    databaseName = "dblfa1;integratedSecurity=true";
    String url = "jdbc:sqlserver://BGHFVUI535V2\SQLEXPRESS;user=mysa;password=mypsw;databaseName=dbmy";
    Connection con = DriverManager.getConnection(url);

}
catch (Exception e)
{
    e.printStackTrace();
}
我得到一个例外:

com.microsoft.sqlserver.jdbc.SQLServerException:与主机BGHFVUI535V2(名为实例sqlexpress)的连接失败。错误:“java.net.SocketTimeoutException:接收超时”。验证服务器和实例名称,并检查是否没有防火墙阻止到端口1434的UDP通信。对于SQL Server 2005或更高版本,请验证SQL Server Browser服务是否正在主机上运行。
位于com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
位于com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(SQLServerConnection.java:3589)
位于com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck(SQLServerConnection.java:1225)
位于com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:972)
位于com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
位于com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
位于java.sql.DriverManager.getConnection(未知源)
位于java.sql.DriverManager.getConnection(未知源)
位于ClassStart.main(ClassStart.java:34)
在c#中,我有连接字符串:

string connectionString = "Server=BGHFVUI535V2\\SQLEXPRESS;Database=dbmy;User Id=mysa;Password=mypsw;"; 
而且很有效。

试试这个

String url = "jdbc:sqlserver://localhost;user=MyUserName;password=*****;";

来自MSDN网站

在Java连接中,您将User而不是User IdI更改为User Id=mysa,但结果与错误消息中的结果相同:“验证SQL Server浏览器服务是否在主机上运行。”它正在运行,因为从c#可以毫无问题地连接到数据库。TCP协议已启用,但您可以从C#连接这一事实并不保证SQL Server Browser服务正在运行。当SQL Server浏览器服务停止时,C#可以连接到本地SQL Server实例。实际上,您必须启动SQL Server配置管理器并检查“SQL Server服务”选项卡,以查看浏览器服务是否正在运行。防火墙已禁用。我仍然得到同样的错误。从c#起作用。