标签:
今天把sql server 2008 r2装了起来,64位的,然后就迫不及待地体验连接数据库的操作,编程语言是java。我一开始学了一种非常老的连接方式,使用JDBC-ODBC桥。初次使用不太熟练,所以这里把详细步骤记下来。
首先是配置ODBC数据源,打开控制面板,小图标方式查看,我看到有个
这个图标是好像是32位ODBC的标志,我点击启动了它,启动的却是64位的ODBC管理工具,
我在“用户DSN”面板下点击了“添加”按钮,弹出“创建新数据源”窗口,
我双击“SQL Server”,弹出下面这个窗口
我在“名称”一栏里填上“hp4”,在“服务器”一栏里填上“(local)”(服务器一栏可以从下拉菜单选择的,下拉列表里为空时可以填“(local)”或计算机名,计算机名可以在计算机属性里看到),然后下一步
来到下面这个窗口,选择“使用用户输入登录ID……”,登录名填“sa”,密码填写sa账户的密码,下一步
一直下一步到完成,弹出配置信息,可以测试下数据源
到这里为止,数据源配置完成了。
接下来启动Myeclipse,新建web project,给index.jsp添加sql包引用,pageEncoding设置成“utf-8”
在body里面添加如下代码:
<%
try{
Connection Con;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Con = DriverManager.getConnection("jdbc:odbc:hp4","sa","123456");
System.out.println("Step1 goes well");
}
catch(Exception e){
System.out.println("Step1 down");
e.printStackTrace();
}
%>
在MyEclipse内置浏览器中访问上面的页面,控制台输出“Step1 goes well”,表示连接成功。
JDBC-ODBC桥内置在JDK中,所以不需要另外添加驱动包,上面的代码意思是连接成功就在控制台输出“Step1 goes well”,连接出错就在控制台输出“Step1 down”。
创建数据源的过程我还存在很多疑问。
首先是启动ODBC管理器时应该启动32位还是64位?
在控制面板中点击 “管理工具”,会看到有两个ODBC管理器,
我在这次演示中启动的是64位,
然后就是应该在“用户DSN”面板下还是在“系统DSN”面板下新建数据源?
我之前在“系统DSN”面板下创建了两个数据源,连接时都报错了,错误信息是
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
我百度这个错误,网上说是因为32位和64位的问题,64位系统应该建立64位DSN,但我在系统DSN下建立的DSN确实是64位的,如下图,连接下面两个DSN都会报上面那个错误。
我在用户DSN面板下创建的DSN貌似是32位和64位都支持的,如下图的hp2、hp3、hp4
暂时没有其它问题了。上面两个问题懒得探讨了,很简单的控制变量法就能检查出来。
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
标签:
原文地址:http://www.cnblogs.com/dige1993/p/4603387.html