今天把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 中,驱动程序和应用程序之间的体系结构不匹配的更多相关文章
-
[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
环境: 操作系统:64位WIN7 数据库:SQL Server 2000 SP1 开发语言:J2EE 在Servlet连接数据库时出错提示: [Microsoft][ODBC 驱动程序管理器 ...
-
ODBC 驱动程序管理器 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 解决方案
程序报错如下: ---------------------------Microsoft 数据链接错误---------------------------测试连接失败,因为初始化提供程序时发生错误. ...
-
IIS发布出现[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
一,原因是系统DSN的配置平台位数跟系统的位数不一致(PS:确认你有没有安装对应系统的驱动.本文是34位和64位驱动都安装了) 二,解决方法,我们必须在 <控制面板---管理工具>找到对应 ...
-
转:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
在Win7 64位系统下,使用Java+Access数据库编程,用Java连数据库时,出现错误提示,如下: Java java.sql.SQLException: [Microsoft][ODBC 驱 ...
-
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能使用 &#39;(未知的)&#39;;文件已在使用中
最近查看程序输入的日志时发现一个java连接Access的程序时不时的抛出: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driv ...
-
关于 64位系统 java连接access 报错java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
报错的原因是url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=E:/公司/2000.mdb"; 这样是不行 ...
-
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称而且未指定默认驱动程序解决方法
开发程序须要登录功能 .就不想用大数据库.直接用java连接access. 在自己机器上一切正常, url直连 和配置数据源都没有问题. 公布到windows server2008 上 , ...
-
";在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配"; 问题总结
最近C#连接ODBC数据源时,总是提示"[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配",百度查询之后才知道原来是 ...
-
【时空大数据】Access 到 Postgres 数据迁移遇到的ODBC坑----驱动程序和应用程序之间的体系结构不匹配
1.安装Postgres10 2.安装Postgis插件 3.创建数据库 4.执行postgis脚本插件:参考https://www.cnblogs.com/defineconst/p/1064853 ...
随机推荐
-
高性能 TCP &; UDP 通信框架 HP-Socket v3.5.3
HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++.C#.Del ...
-
OAuth2.0 微博登陆网站功能的实现(一)获取用户授权及令牌 Access Token
在登陆一些网站的时候,可以选择登陆方式为第三方登陆,例如微博登陆,以爱奇艺为例,进入首页,点击 ”登陆“,会弹出登录框: 除了本站登陆外,还可以选择其他第三方登陆,比如微博登陆.QQ 登陆.微信登陆等 ...
-
【stm32】时钟树解析
有时候会突然忘了这个重要的时钟树,这里转载一个比较好的,以防忘记. STM32时钟系统 在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频 ...
-
数据库连接(Oracle/sqlServer增、删、改、查)
一.把数据库包导入项目中,并且Build path(oracle例如ojdbc6.jar;sqlServer例如sqljdbc.jar) 二.开始操作 1.普通连接: String className ...
-
九州动态ip的特色
九州代理是一款高覆盖的换ip软件,范围可覆盖全国160多个城市.软件可用于游戏试玩.游戏挂机.营销.优化.文档分享.管理.问答推广.数据采集.点赞.增效回访.用户注册等.“九州代理”仅提供国内网络节点 ...
-
测试工具之Fiddler
Fiddler是一款很好的抓包分析工具,里面有很多小功能,这里介绍常用功能 Fiddler下载地址: https://www.telerik.com/download/fiddler 下载完成后,直接 ...
-
sql server 2008 express 安装的时提示“重启计算机失败";
sql server 2008 express 安装的时提示"重启计算机失败" 解决办法: 打开注册表编辑器(regedit.exe),在HKEY_LOCAL_MACHINE\SY ...
-
Django模板操作
进行加减运算 def index(request): a = request.GET['a'] b = request.GET['b'] c = int(a) + int(b) return Http ...
-
SQL SERVER 将表字段值0和1互转的几种方法
需求: 如果表字段的值为 0 则将其修改为1 ,如果表字段的值为 1 则将其修改为 0. 方法一 end 方法二 ) 方法三 )
-
0_Simple__simplePrintf
在设备代码中使用函数 printf(),没有新的认识. ▶ 源代码 #include <stdio.h> #include <cuda_runtime.h> #include ...