这很奇怪。我使用的是运行VirtualBox 4.2.6的Mac OS X 10.7.5 64位主机。我有一个Windows 7 SP1来宾(64位),带有运行Microsoft SQL Server Express 2012的桥接网络。我将 SQL Server 配置为在端口 1433 上使用 TCP/IP,而不是动态端口(设置为空,而不是 0)。Windows 7 来宾的 IPv4 地址为 192.168.99.132,并且 Windows 防火墙已关闭。
我下载了Microsoft SQL Server 2012 JDBC驱动程序以及适用于Windows和Mac的Squirrel SQL client 3.4.0。当我在Windows 7客户操作系统上运行Squirrel时,我可以通过Microsoft JDBC驱动程序使用客户机名称“winny”、“localhost”或“192.168.99.132”(JDBC URL,如JDBC:sqlserver://winny\SQLEXPRESS:1433;databaseName=vha)。然而,当我试图从Mac主机上运行的Squirrel连接到SQL Server时,我遇到了一个异常(请参见下面的堆栈跟踪)。
奇怪的是。如果在Mac主机上,我使用jTDS SQL Server驱动程序(版本1.2.7,因为我使用的是JDK6,所以不能使用jTDS 1 . 3 . 0——那个版本只是JDK7 ),我会立即使用JDBC URL JDBC:jTDS:SQL Server://192 . 168 . 99 . 132:1433/vha进行连接。
你知道为什么微软驱动程序失败了,但jTDS在远程主机上成功了吗?Microsoft one中的jTDS URL中唯一缺少的信息是实例名(“SQLEXPRESS”)。是的,我试过Microsoft URL,有实例名和没有实例名。
Mac主机上Java版本是:
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)
Windows 7 客户机上的 Java 版本是:
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)
从 Mac 主机连接到 Windows 7 客户机时的堆栈跟踪:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 192.168.99.132, 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.".
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
at java.util.concurrent.FutureTask.get(FutureTask.java:91)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 192.168.99.132, 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.".
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:171)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104)
... 6 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 192.168.99.132, 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.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167)
... 8 more
Step 1: Download jtds.jar from http://sourceforge.net/projects/jtds/files/
Step 2: Add the jar into eclipse or any IDE.
Step 3:
String driver="net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver).newInstance();
String connString="jdbc:jtds:sqlserver://127.0.0.1:1433/database_name;encrypt=false;user=sa;password=yourpassword;integratedSecurity=true;instance=SQLEXPRESS;";
String username="sa";
String password="yourpassword";
OR
String connString="jdbc:jtds:sqlserver://192.168.1.198:1433/database_name;encrypt=false;user=sa;password=yourpassword;";
String username="sa";
String password="yourpassword";
理论上,您还需要jTDS连接字符串中的实例名称(例如,附加“instance=SQLEXPRESS”)——但我不熟悉jTDS,我可能错了,但如果您没有设置,并且正在连接,那么您可能正在连接其他东西?
您在上面显示了带有IP地址的jTDS连接字符串和带有服务器名“winny”的Microsoft连接字符串(JDBC:SQL server://winny \ SQLEXPRESS:1433;你试过IP地址了吗?(JDBC:SQL server://192 . 168 . 99 . 132 \ SQLEXPRESS:1433;数据库名=vha)
我通常尝试的事情:
因为您可以使用jTDS从Mac客户端连接,所以您应该已经能够执行所有这三个操作,但值得仔细检查。
您还可以尝试在服务器上对端口1433进行硬编码(将其从空白更改为空)——可能存在另一个SQL实例?另见http://support.microsoft.com/kb/287932
以下是我通常会经历的一些步骤,也许这会有所帮助:
我正在尝试使用本教程连接Oracle数据库。当我使用命令行:java-cp c:\jdbc-test\ojdbc6.jar;c:\jdbc-test OracleJDBC我已经将ojdbc6.jar与OracleJDBC.java放在同一个文件夹中。现在我需要在Eclipse上运行它,但它给我一个错误: 是因为OJDBC6.jar位置吗?
我使用JBoss作为7.1.1.final作为我的应用程序服务器。 我已经在JBoss社区用户论坛上发布了我的问题:question-here jboss-as-cmt war工作得很好,即我能够将客户添加到发票中。我可以psql进入数据库引擎,我可以看到所有的记录。我唯一的问题是我不能使用h2console webapp进入我创建的jboss-as-cmt postgres数据库。 我使用:“o
我无法成功地将MS Access连接到R。在堆栈溢出时读取其他线程时,我遵循了使用32位访问、将Rstudio更改为32位以及使用microsoft Access odbc驱动程序的建议。我不知道该怎么办... 我使用了以下说明: null 请帮忙,不胜感激。我无法单独从其他R中收集足够的信息来访问连接线程。
问题内容: 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以通过使用本地计算机上的curl来访问Kibana和Elastic search 我得到以下回应 var hashRoute =’/ app / kibana’; var defaultRoute =’/ app / kibana’; var hash = window.location.hash;
我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以使用 我得到以下回应 var hashRoute='/app/kibana'; var defaultRoute='/app/kibana'; var hash=window.location.hash; if(hash.length){window.location=hashRoute hash;}其他{wi
使用JDBC Driver Manager连接到MySQL DB时,连接成功并按预期检索结果集。但是当尝试使用org.springframework.jdbc.datasource.DriverManagerDataSource或org.springframework.jdbc.datasource.SimpleDriverDataSource通过Spring配置进行连接时 JDBC驱动程序com