`
witcheryne
  • 浏览: 1099538 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

WTF, MS JDBC Driver for SQL Server 2008

    博客分类:
  • J2SE
阅读更多

WTF = What Fuck ...

今天被SQL Server 2008整的胸闷!

现场连接数据库 ok

SQLDeveloper工具链接数据库 ok

eclipse 中跑项目链接数据库, 卡住, 转菊花。

 

错误现象:

 Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider 

由于现场没有问题,所以没有考虑数据库驱动的问题。

列了个checklist, 依次检查环境:

  • SQL Sever 2008 主机是否能ping同
  • telnet 1433 接口是否ok
  • 主机 SQL Browser 是否开启
  • Client链接是否采用网络协议
  • TCP/IP 是否开启, 且端口是否是1433
检查一番后,都ok.
无奈!

写个Unit Test 看看:
package db;


import static org.junit.Assert.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.junit.*;


public class DBConnTest {
	final String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	final String user = "sa";
	final String password = "1";
	
	Connection conn = null;
	
	public @Before void init() {
		conn = null;
	}
	
	public @After void close() {
		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	public @Test void connect_uv() {
		System.out.println("connect userverify...");
		String url = "jdbc:sqlserver://192.168.1.19:1433;DatabaseName=dyuserverify20_rugao";			
		
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, user, password);
			assertNotNull(conn);
		} catch (ClassNotFoundException e) {
			fail(e.getMessage());
		} catch (SQLException e) {
			fail(e.getMessage());
		}
	}
	
}
 
依然卡住。

到这里, 开始怀疑是驱动的问题。
  • SQL Developer工具用的是: jtds.jar, 连接2008没问题
  • 项目驱动是: sqljdbc.jar, 连接2008卡住

驱动换成 jtds.jar 再试:
package db;


import static org.junit.Assert.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.junit.*;


public class DBConnTest {
	final String driver = "net.sourceforge.jtds.jdbc.Driver";
	final String user = "sa";
	final String password = "1";
	
	Connection conn = null;
	
	public @Before void init() {
		conn = null;
	}
	
	public @After void close() {
		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	public @Test void connect_uv() {
		System.out.println("connect userverify...");
		String url = "jdbc:jtds:sqlserver://192.168.1.19:1433/dyuserverify20_rugao";			
		
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, user, password);
			assertNotNull(conn);
		} catch (ClassNotFoundException e) {
			fail(e.getMessage());
		} catch (SQLException e) {
			fail(e.getMessage());
		}
	}
	
}
 
跑通!

再将项目中的配置换成 jtds 的方式, “转菊花”的问题解决!

P.S: 
为什么现场采用 sqljdbc.jar 链 2008没问题! WTF MS !
0
0
分享到:
评论

相关推荐

    WTF设置个人版本

    在魔兽世界(World of Warcraft,简称WoW)中,“WTF”并不是我们通常理解的“What The F**k”的缩写,而是“World of Warcraft Text Format”的简称,它是一个配置文件夹,包含了玩家的个人设置、插件配置、键位...

    Wtf

    标题中的"Wtf"通常代表网络用语"What the F***", 是一种表达惊讶、困惑或不解的情绪的缩写。然而,在IT行业中,特别是在字体设计和文本处理领域,这可能是指一个特定的字体系列或者相关的文件格式。在这个上下文中,...

    flask-sqlalchemy-wtf-demo

    使用flask-sqlalchemy-wtf bootstrap做的小demo 主要用于银行业务 欢迎大家star和issueヽ(•̀ω•́ )ゝ gtihub: https://github.com/Pantynopants/DBMS_BANK

    PyPI 官网下载 | Flask-WTF-0.10.0.tar.gz

    **PyPI官网下载Flask-WTF-0.10.0.tar.gz详解** 在Python的开发环境中,PyPI(Python Package Index)是最重要的资源库,它提供了大量的第三方库供开发者使用。`Flask-WTF`是PyPI上的一款非常实用的库,它是`Flask`...

    Twitter推荐算法WTF翻译版

    WTF选择了Cassovary作为图谱处理引擎,处理用户推荐算法 SALSA(Stochastic Approach for Link-Structure Analysis)。 WTF算法的核心是基于共同的兴趣、共同的关注以及其他一些因素。为了推荐适合的用户,WTF算法...

    WTF.rar_.wtf

    标题中的"WTF.rar_.wtf"可能让人有些疑惑,但在这里它显然与网络用语“WTF”(What the F**k)无关,而是代表一个压缩包文件的名称。这个压缩包内包含了一个名为"WTF"的小游戏。描述中提到,这是作者编写的一款小...

    begens-macro-processor:使用TSQL编写的用于MS SQL Server TSQL的Begens(超越通用SQL)宏处理器

    WTF? Begens(超越通用SQL)是一个宏处理器。 您使用宏定义为您的TSQL代码提供数据,这将为您带来良好的旧TSQL。 我为什么需要它? 为您的企业数据库更快地编写某些类型的查询。 如何使用它? 检查examples.sql...

    日本2WTF_89型离心泵级间衬套改进.rar

    本文将详细探讨"日本2WTF_89型离心泵"在级间衬套方面的改进,这是一项旨在提高泵性能、延长使用寿命的重要技术升级。 首先,了解离心泵的基本构造至关重要。离心泵主要由叶轮、泵壳、轴、密封装置、轴承和底座等...

    多语言网页输出工具Flask-WTF-Polyglot.zip

    Flask-WTF-Polyglot 是 Flask-WTF 公司为多语言网页输出提供 PolyglotForm 类的工具。  代码示例:from flask_wtf_polyglot import PolyglotForm from wtforms import BooleanField class MyForm...

    python课程设计-基于flask的短租平台实战项目,web全栈开发,sqlalchemy,适合个人学习

    flask_wtf flask_script flask_migrate flask_sqlalchemy python课程设计——基于flask的短租平台实战项目,web全栈开发,sqlalchemy,适合个人学习,项目依赖: flask redis flask_session flask_wtf flask_script...

    Python库 | grafana-wtf-0.8.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:grafana-wtf-0.8.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    licensing.wtf:授权wtf网站

    许可.wtf 网站代码 安装 。 $ sudo npm install -g harp $ git clone git@github.com:soundofjw/licensing.wtf.git $ cd licensing.wtf 开始 $ harp server . 作者 由 (github:soundofjw)[ ] 创建。 灵感来自 ...

    数据库课程设计期末大作业,利用sql sever2018 进行建库,利用python处理后端程序,flask搭建前端.zip

    这个项目使用了SQL Server 2018进行数据库构建,Python作为后端处理语言,以及Flask框架来搭建前端界面。让我们逐一深入探讨这些知识点。 首先,SQL Server 2018是一款强大的关系型数据库管理系统,由微软开发。在...

    wtf_wikipedia, wikipedia的维基百科标记解析器.zip

    wtf_wikipedia, wikipedia的维基百科标记解析器 然而,维基百科标记解析器 Kelly Kelly和许多贡献者把维基标记变成 JSON,这样获得的数据就变得更容易了。我不生气,对他们生气。解析wikiscript基本上是 np 。它的真...

    wtf.sh:我对 https 的React

    WTF wtf wtf wtf WTF wtf wtf WTF wtf wtf wtf wtf wtf wtf wtf WTF wtf WTF wtf wtf WTF wtf wtf WTF wtf wtf wtf wtf WTF WTF WTF wtf wtf WTF WTF WTF WTF WTF wtf WTF WTF WTF wtf wtf WTF WTF WTF wtf WTF wtf...

    wtf.zip_it

    标题中的“wtf.zip_it”可能是一个压缩文件的名称,其中“wtf”可能是缩写或项目代码,而“.zip_it”表明这是一个使用ZIP格式压缩的文件,可能包含与信息技术(IT)相关的材料。描述中的“IE sucks =) You should ...

    向数据库里导入表单数据

    3. **编程接口**:使用SQL Server的API,如ADO.NET、ODBC或JDBC,编写程序来读取表单数据并插入数据库。这种方法灵活度高,适用于自动化导入。 4. **Power Query / Power BI**:这些Microsoft工具可以连接到各种...

    WTF Obfuscator BETA(.net混淆器).

    【标题】"WTF Obfuscator BETA(.net混淆器)"是针对.NET框架代码的混淆工具,主要用于提高代码的安全性和防止反编译。这个BETA版本代表它处于测试阶段,可能包含新功能或者正在改进的功能。 【描述】"WTF Obfuscator...

    Python库 | Flask-WTF-Polyglot-0.2.tar.gz

    《深入解析Flask-WTF-Polyglot:Python后端开发的强大工具》 在Python的世界里,Flask框架以其轻量级、灵活的特性深受开发者喜爱。而Flask-WTF-Polyglot则是Flask生态中的一个重要扩展,它极大地丰富了Flask在Web...

Global site tag (gtag.js) - Google Analytics