异常产生

Java连接SQL Server一般字符串:jdbc:sqlserver://127.0.0.1:1433;DatabaseName=数据库名;

大家应该知道:如果机器上安装的是SQLServer的默认实例(比如SQL Server2005,那么一般连接的服务器名称是 本机名/”.”/localhost/127.0.0.1 来代替,这即是安装时的默认实例),那么也就通过TCP 默认1433端口远程连接(当然如果你打开了防火墙,需要放开1433端口)。然而,如果机器上有多个数据库实例,比如又安装了SQL Server2008,或者SQL Server2008R2等,这时,问题就来了。

Exception1: 无法打开登录所请求的数据库 "数据库名",登录失败。

Exception2: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败。错误:“java.net.SocketTimeoutException: Receive timed out”。请验证服务器和实例名称,并检查防火墙没有阻止到端口 1434 的 UDP 通信,而且对于 SQL Server 2005 或更高版本,还要验证 SQL Server Browser 服务正在主机上运行。

解决方案

对于c#而言,对付多个数据库实例,在连接时的连接字符串使用“本机名+\+实例名”即可,使用如下:

来代替原先的单个数据库实例连接:

而对于java,对付多个数据库实例就有些要注意的了:

1、 首先,同样连接字符串上加上“\实例名”: jdbc:sqlserver://127.0.0.1\\mssqlserver2008;DatabaseName=LPT; 此处应去掉端口1433。因为连接数据库自命名实例的url中没有端口号1433,这是SQLServer中的管理机制决定的,这样连接默认是UDP是1434端口。如果你打开了防火墙,需要放开UDP 1434端口。

2、 需要打开SQL Browser service服务,此时,Java才能正确连接你的另一个实例名”mssqlserver2008“的数据库。

java 连接多实例_Java如何连接多实例SQL Server?相关推荐

  1. C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)

    C#连接4种类型数据库(Access.SQL Server.Oracle.MySQL) 1.C#连接连接Access using System.Data; using System.Data.OleD ...

  2. java access dbq 参数_Java怎么连接access数据库,要求讲解详细一些

    import java.sql.*; public class ConnectAccess { /** * 初学者请注意: * 1:先建立一个access文件a1.mdb,并放在D:/下; * 2:在 ...

  3. java与sql用windows身份连接,使用Windows身份验证将我的Sql Server 2008数据库连接到我的Java项目...

    JDBC驱动程序支持通过则将integratedSecurity连接字符串属性在Windows操作系统上使用类型2集成身份验证.要使用集成身份验证,请将sqljdbc_auth.dll文件复制到安装了 ...

  4. java类多例_Java多例设计模式实例详解

    本文实例讲述了Java多例设计模式.分享给大家供大家参考,具体如下: 一.多例设计模式定义 多例设计模式就是存在多个对象实例,供外部应用裯用,比喻数据库连接池. 二.多例模式静态类图 三.多例模式代码 ...

  5. SQL Server 2005 Express 远程连接 客户端 远程访问 设置 全攻略 (适用 SQL Server 2005 其他版本)

    SQL Server 2005 Express 是微软提供的数据库的低端解决方案, 可免费任意随产品分发, 可以在XP等非专业服务器系统下安装, 还可以远程访问, 对于小型数据应用程序已足够满足数据使 ...

  6. java字符连接字符串数组_Java中连接字符串的最佳方法

    java字符连接字符串数组 最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗. 这些是我要研究的方法: 使用 ...

  7. java 连接远程服务器_java实现连接远程服务器并执行命令的基本原理

    一.所需jar包 需要借助Ganymed SSH的jar包:  ganymed-ssh2-build210.jar 二.实现原理 Ganymed SSH-2 java在整个访问过程中担当SSH的客户端 ...

  8. java远程执行功能_Java远程连接Linux服务器并执行命令及上传文件功能

    Java远程连接Linux服务器并执行命令及上传文件功能 发布于 2020-3-6| 复制链接 摘记:  最近再开发中遇到需要将文件上传到Linux服务器上,至此整理代码笔记.此种连接方法中有考虑到并 ...

  9. java线程池示例_Java线程连接示例

    java线程池示例 Java Thread join method can be used to pause the current thread execution until unless the ...

最新文章

  1. Springboot监控之一:SpringBoot四大神器之Actuator之3-springBoot的监控和管理--指标说明...
  2. OpenStack collectd的从零安装服务端
  3. 于企业而言,Linux 与 Windows 哪个更安全?
  4. 有道云笔记里几种我觉得比较有用的操作
  5. 前端学习(1378):express静态资源处理
  6. 2016杭州ccpc
  7. nodemailer使用_如何使用Nodemailer使用HTML作为内容发送电子邮件 Node.js
  8. MYSQL索引失效的各种情形总结
  9. 跑步(【CCF】NOI Online能力测试 入门组第二题)
  10. 瑞友客户端无法建立跟远程计算机的连接,瑞友天翼终端错误信息的原因以及解决方法大全.doc...
  11. 酷q服务器未响应,酷Q [CQHTTP Python Async SDK] 入坑指南【已失效】
  12. 计算机考试怎么做word,word怎么做弧形文字
  13. 如何预防钓鱼邮件?S/MIME邮件证书来支招
  14. sflow-rt 3.0 安装
  15. python爬虫之多线程、多进程爬虫
  16. inet aton在java_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop
  17. escape()和unescape()函数的使用方法
  18. mysql数据库表锁、行锁
  19. 简述Java中封装,继承,多态的理解
  20. Simple: SQLite3 结巴分词插件

热门文章

  1. C语言计算程序运行时间简单实例
  2. 【数学分析】从多元函数的定义一直到多元函数的泰勒展开
  3. 设计模式之 Composite(组合)通俗理解
  4. 【步态识别】LagrangeGait基于拉格朗日《Lagrange Motion Analysis and View Embeddings for Improved Gait Recognition》
  5. 海思3559A pwm驱动编写记录
  6. 1688关键字搜索商品
  7. 大学计算机网络技术基础--笔记大全
  8. openssl生成证书linux,Linux下使用openssl生成证书
  9. 一、如何完全卸载Anaconda(如何下载Anaconda-Clean package)
  10. 租用国内的云主机的话,阿里云和盛大云,哪个更好?