2015-07-03 226 views
0

我想连接到我的MSsql 2012数据库,但我不断收到以下错误。我试图找过在互联网上的教程和不停的问,但无法获得任何答案,直到如今...Java:无法连接到数据库

Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\bosti>cd c:\cazare-full\cazare 

c:\cazare-full\cazare>ant deploy 
Buildfile: c:\cazare-full\cazare\build.xml 

undeploy.tomcat: 

delete.files: 

drop.old.tables: 

BUILD FAILED 
c:\cazare-full\cazare\build.xml:46: com.jnetdirect.jsql.u: Failed Logon:com.jnet 
direct.jsql.u: Invalid port number:/ url:jdbc:JSQLConnect://sqlserver://127.0.0.1:1433;instanceName=MSSQLSERVER; 
    at com.jnetdirect.jsql.JSQLDriver.connect(Unknown Source) 
    at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370) 
    at org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:942) 

    at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:614) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:390) 
    at org.apache.tools.ant.Target.performTasks(Target.java:411) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
    at org.apache.tools.ant.Main.runBuild(Main.java:809) 
    at org.apache.tools.ant.Main.startAnt(Main.java:217) 
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 

Total time: 0 seconds 

c:\cazare-full\cazare> 
+0

有没有其他stacktrace看?你有更多的描述发生了什么?如果没有,那么我建议你至少使用'try-catch'段并在'catch'中使用'e.printStackTrace()'来查看异常的更多细节。根据当前的信息,您的环境中可能会出现许多问题。 –

+0

你会向我们展示jdbc代码吗?首先要考虑的是你的驱动程序有错误的端口设置。 –

+1

你能检查你尝试连接的端口号吗?另外,您是否可以确保db实际上正在侦听端口1433.之后,检查db服务器是否已启动 – Andrei

回答

3

连接的URL有一种特殊形式,它是这样的:

jdbc:JSQLConnect://serverName:port/property=value[/property=value] 

但你使用这个:

url:jdbc:JSQLConnect://sqlserver://127.0.0.1:1433;instanceName=MSSQLSERVER; 

你可以按照this link了解更多的细节;它的肉在下面。

连接URL的一般形式是

JDBC:JSQLConnect://服务器:端口/属性=值[/属性=值]

其中: -

  • JSQLConnect(必需)被称为子协议并且是常量。
  • serverName(必需)是要连接的服务器的地址。可能是DNS或IP地址。也许locallost或127.0.0.1为 本地机器。
  • 端口(可选)是要在serverName上连接的端口。默认值为1433.如果您使用的是默认值,则不需要在URL中指定端口(或其位于':'之前) 。
  • 属性(可选)是一个或多个选项连接属性。有关详细信息,请参阅以下连接属性部分。可以指定列表中的任何 属性。属性可以用'/'或'&'分隔 。