精华内容
下载资源
问答
  • } catch (ClassNotFoundException e) { System.out.println("------ 在加载“mysql数据库驱动”时抛出异常,内容如下:"); e.printStackTrace(); } } public static void main(String[] args) { // TODO Auto-...

    package DataBaseTest;

    public class LoadDBdriver {

    /**

    *复制.jar文件到java安装包的"jre>lib>ext"文件夹下。

    * @param args

    * @author 劳黑炭

    */

    // private static final String DB_DRIVER ="org.apache.derby.jdbc.EmbeddedDriver"; //DB_DRIVER

    // public static final String MYSQL_DRIVER="org.gjt.mm.mysql.Driver";//MYSQL_DRIVER

    // private static final String SQL_DRIVER ="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //SQL_DRIVER

    static {

    try {

    //反射机制加载

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");// 加载SQL2008驱动程序(08和05与2000的加载方法有点差别)

    System.out.println("加载SQL驱动启动成功!");

    } catch (ClassNotFoundException e) {

    System.out.println("------ 在加载“SQL2008驱动”时抛出异常,内容如下:");

    e.printStackTrace();

    }

    try {

    Class.forName("org.apache.derby.jdbc.EmbeddedDriver");// 加载DB驱动程序(derby.jar)

    System.out.println("加载derby启动成功!");

    } catch (ClassNotFoundException e) {

    System.out.println("------ 在加载“DB驱动时”抛出异常,内容如下:");

    e.printStackTrace();

    }

    try {

    Class.forName("org.gjt.mm.mysql.Driver");// 加载MySQL驱动

    System.out.println("加载mysql驱动启动成功!");

    } catch (ClassNotFoundException e) {

    System.out.println("------ 在加载“mysql数据库驱动”时抛出异常,内容如下:");

    e.printStackTrace();

    }

    }

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    }

    }

    展开全文
  • 我需要编写一个基于守护进程的java进程(不是基于Web的),它将连接到...我需要有两个jdbc驱动程序,一个用于连接Oracle数据库,另一个用于连接到sql server数据库. sql server jdbc驱动程序是jtds jdbc驱动程序(http:/...

    我需要编写一个基于守护进程的java进程(不是基于Web的),它将连接到Oracle 10G数据库,从中读取一些数据,然后连接到SQL Server数据库并将数据写入表.

    听起来很简单,但我对此有几个疑问.

    >我需要有两个jdbc驱动程序,一个用于连接Oracle数据库,另一个用于连接到sql server数据库. sql server jdbc驱动程序是jtds jdbc驱动程序(http://jtds.sourceforge.net/),对于Oracle我将使用标准的oracle jdbc驱动程序.我可能会遇到类路径中可用的两个驱动程序的任何问题吗?

    >我的猜测是我需要的是一个ConnectionManager类来管理连接和一个客户端DAO类,它将调用相关的方法来获取它需要的连接,具体取决于它是从Oracle读取还是写入SQL Server.这是一种合理的方法还是有更好的设计/模式?

    编辑

    好吧,我试图整理一个快速的设计解决方案.见下图

    我认为我遇到的问题是如何提交.这是处理流程

    > InvoiceBD从工厂类获取Oracle连接,并调用InvoiceUploadDAO.readData将Oracle连接对象传递给它.

    > InvoiceBD从工厂类获取SQL Server连接,并调用InvoiceUploadDAO.writeData,将SQL Server连接对象传递给它.

    > InvoiceBD重用Oracle连接将InvoiceUploadDAO.update状态调用为Oracle数据库上的“完成”设置状态.

    InvoiceBD提交Oracle连接.

    InvoiceBD提交SQL Server连接.

    或者如果出现问题,两个连接对象都会回滚.

    那个听起来是对的吗?

    谢谢

    解决方法:

    Am i likely to come across any problems with both drivers available in the classpath together?

    不太可能. DriverManager.getConnection方法实际上将连接的构造委托给在其中注册的所有驱动程序.只有识别JDBC URL中的协议的驱动程序才会返回连接. JDBC规范声明:

    When the DriverManager is trying to

    establish a connection, it calls that

    driver’s connect method and passes the

    driver the URL. If the Driver

    implementation understands the URL, it

    will return a Connection object;

    otherwise it returns null.

    The format of a JDBC URL is :

    jdbc::

    对于jTDS和Oracle(瘦)驱动程序,协议格式不同,因此,您永远不会遇到问题.但是,请记住不要放置同一驱动程序的多个版本.

    Is this a reasonable approach or is there a better design/pattern for this?

    您正在寻找一个DataSource. DataSources可以在Java EE环境中使用,而不是在Java SE应用程序中使用.但是,您可以构建自己的DataSource或类似的类;您不需要实现DataSource接口本身,但您可以执行类似的操作.在您的上下文中,您的ConnectionManager类将通过接受区分要连接的数据库的参数来承担DataSource的角色;您可以考虑使用连接池,以防您需要连接池(如果您只需要一个连接到数据库,则不太可能).

    您也可以采用@ duffymo构建DAO类的方法,尽管它更适合SQL查询不同的情况.

    标签:java,sql-server,oracle,jdbc,jtds

    来源: https://codeday.me/bug/20190730/1577980.html

    展开全文
  • 什么数据库驱动?

    千次阅读 2021-02-08 19:56:27
    在学习其他知识时,网络、IO 等不需要进行特殊的操作,直接就可以编写程序,但是在学习到操作数据库这部分时,就需要在操作数据库的项目中添加数据库驱动,那么为什么要添加数据库驱动呢?数据库驱动又是什么呢?相信...

    在学习数据库的过程中会发现,在学习其他知识时,网络、IO 等不需要进行特殊的操作,直接就可以编写程序,但是在学习到操作数据库这部分时,就需要在操作数据库的项目中添加数据库驱动,那么为什么要添加数据库驱动呢?数据库驱动又是什么呢?

    相信对电脑有些常识的人都会对“驱动”一词不陌生。例如,在配有摄像头的电脑上,如果要使电脑识别摄像头,就要安装摄像头驱动;又例如U盘,有的机器要识别U盘就要安装U盘驱动。而数据库驱动和其他驱动类似,只有安装了相应的数据库驱动后才能识别数据。

    SUN提供了操作数据库的接口,这些接口表示应用Java 怎样去调用数据库,再由数据库提供商实现这些接口,这就是Java数据库驱动的由来。很多开发者认为驱动程序只一些功能确定且无足轻重的工具。但事实上,驱动程序往往不是数据转换器或数据管道那么简单,它们有些特征极其重要。JDBC驱动程序利用JDBC标准建立了Java程序和数据源之间的桥梁。在JDBC出现之前,Java 开发者为了构造带有数据库事务的应用,不得不深陷于各种复杂的SQL语句。为了解决这个问题,SUN和他的合作者开发出了简化Java应用访问各种数据资源的JDBCAPI。由于数据库驱动程序全部是由Java程序开发的,因此跨平台性比较好,可以在多个操作系统中运行。

    数据库驱动程序有很多、连接不同的数据库需要不同的驱动程序,如连接PostgreSQL数据库的驱动程序postgresqljdbc3.jar, 连接Oracle 数据库的驱动程序ojdbc14.jar、 连接SQL Server数据库的驱动程序sqljdbc.jar等。从给大家列举的实例看,数据库驱动程序是缺乏弹性的,不同的数据库驱动只适用于自己的数据库系统,甚至只适合某个版本的数据库系统。如果更新了数据库,则有可能需要更换数据库驱动程序。

    最后虽然连接数据库的方式有很多,如ODBC桥连接等。但建议最好使用JDBC驱动程序进行连接,因为使用厂商提供的专属JDBC驱动程序时,这个类型的数据库驱动程序与数据库之间的连接最直接,执行性能最好。

    展开全文
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,用户的数据库应用系统进行性能和风险评估,参与配合进行...

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行数据压测演练,提供数据库优化方面专业建议,在业务高峰期与用户共同保障数据库系统平稳运行。","link1":"https://www.aliyun.com/service/optimization/database","link":"https://www.aliyun.com/service/chiefexpert/database","icon":"https://img.alicdn.com/tfs/TB1a5ZfonnI8KJjy0FfXXcdoVXa-100-100.png","btn2":"数据库紧急救援服务","tip":"还有更多专家帮助您解决云上业务问题:立即查看","btn1":"云上数据库优化服务","link2":"https://www.aliyun.com/service/databaserescue","title":"数据库专家服务"}],"search":[{"txt":"安全首席专家","link":"https://www.aliyun.com/service/chiefexpert/security"},{"txt":"中间件首席专家","link":"https://www.aliyun.com/service/chiefexpert/middleware"},{"txt":"系统与平台首席专家","link":"https://www.aliyun.com/service/chiefexpert/platform"},{"txt":"存储首席专家","link":"https://www.aliyun.com/service/chiefexpert/storage"}],"countinfo":{"search":{"length_pc":0,"length":0},"card":{"length_pc":0,"length":0}},"simplifiedDisplay":"newEdition","newCard":[{"link":"https://www.aliyun.com/product/rds/mysql","icon":"rds_mysql1","contentLink":"https://www.aliyun.com/product/rds/mysql","title":"云数据库RDS MySQL版","des":"云数据库RDS MySQL版 MySQL 是全球最受欢迎的开源数据库,阿里云MySQL版 通过深度的内核优化和独享实例提供稳定极致的数据库性能,同时灵活的部署架构及产品形态,可满足不同场景下的数据库需求。","btn1":"了解详情","link1":"https://www.aliyun.com/product/rds/mysql","btn2":"管理控制台","link2":"https://rdsnext.console.aliyun.com/#/rdsList/cn-hangzhou/basic/","btn3":"在线咨询","link3":"https://www.aliyun.com/core/online-consult?spm=5176.8789780.7y9jhqsfz.115.47ea55caeL2Mfu&from=OVtXEBmlH8","infoGroup":[{"infoName":"最新活动","infoContent":{"firstContentName":"MySQL 1年仅19.9元","firstContentLink":"https://www.aliyun.com/database/dbfirstbuy#J_9036464270","lastContentName":"ECS+MySQL 0.7元/日","lastContentLink":"https://www.aliyun.com/1111/enterprise"}},{"infoName":"快速入门","infoContent":{"firstContentName":"选型指南","firstContentLink":"https://help.aliyun.com/document_detail/164594.html?spm=a2c4g.11186623.6.551.56b67384ispvvk","lastContentName":"上手指南","lastContentLink":"https://help.aliyun.com/document_detail/26124.html?spm=a2c4g.11174283.2.16.51795b83pbkzav"}},{"infoName":"最佳实践","infoContent":{"firstContentName":"X-Engine的应用场景","firstContentLink":"https://help.aliyun.com/document_detail/148402.html?spm=a2c4g.11186623.2.14.3f592685zjuUxu#concept-2364901","lastContentName":"读写分离功能","lastContentLink":"https://help.aliyun.com/document_detail/96073.html?spm=a2c4g.11174283.2.53.42db5b83VvZvMJ"}},{"infoName":"产品推荐","infoContent":{"firstContentName":"云数据库PolarDB","lastContentName":"云原生数据仓库MySQL","firstContentLink":"https://www.aliyun.com/product/polardb","lastContentLink":"https://www.aliyun.com/product/ads"}}]}],"visual":{"textColor":"dark","topbg":""}}

    {"$env":{"JSON":{}},"$page":{"env":"production"},"$context":{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行数据压测演练,提供数据库优化方面专业建议,在业务高峰期与用户共同保障数据库系统平稳运行。","link1":"https://www.aliyun.com/service/optimization/database","link":"https://www.aliyun.com/service/chiefexpert/database","icon":"https://img.alicdn.com/tfs/TB1a5ZfonnI8KJjy0FfXXcdoVXa-100-100.png","btn2":"数据库紧急救援服务","tip":"还有更多专家帮助您解决云上业务问题:立即查看","btn1":"云上数据库优化服务","link2":"https://www.aliyun.com/service/databaserescue","title":"数据库专家服务"}],"search":[{"txt":"安全首席专家","link":"https://www.aliyun.com/service/chiefexpert/security"},{"txt":"中间件首席专家","link":"https://www.aliyun.com/service/chiefexpert/middleware"},{"txt":"系统与平台首席专家","link":"https://www.aliyun.com/service/chiefexpert/platform"},{"txt":"存储首席专家","link":"https://www.aliyun.com/service/chiefexpert/storage"}],"countinfo":{"search":{"length_pc":0,"length":0},"card":{"length_pc":0,"length":0}},"simplifiedDisplay":"newEdition","newCard":[{"link":"https://www.aliyun.com/product/rds/mysql","icon":"rds_mysql1","contentLink":"https://www.aliyun.com/product/rds/mysql","title":"云数据库RDS MySQL版","des":"云数据库RDS MySQL版 MySQL 是全球最受欢迎的开源数据库,阿里云MySQL版 通过深度的内核优化和独享实例提供稳定极致的数据库性能,同时灵活的部署架构及产品形态,可满足不同场景下的数据库需求。","btn1":"了解详情","link1":"https://www.aliyun.com/product/rds/mysql","btn2":"管理控制台","link2":"https://rdsnext.console.aliyun.com/#/rdsList/cn-hangzhou/basic/","btn3":"在线咨询","link3":"https://www.aliyun.com/core/online-consult?spm=5176.8789780.7y9jhqsfz.115.47ea55caeL2Mfu&from=OVtXEBmlH8","infoGroup":[{"infoName":"最新活动","infoContent":{"firstContentName":"MySQL 1年仅19.9元","firstContentLink":"https://www.aliyun.com/database/dbfirstbuy#J_9036464270","lastContentName":"ECS+MySQL 0.7元/日","lastContentLink":"https://www.aliyun.com/1111/enterprise"}},{"infoName":"快速入门","infoContent":{"firstContentName":"选型指南","firstContentLink":"https://help.aliyun.com/document_detail/164594.html?spm=a2c4g.11186623.6.551.56b67384ispvvk","lastContentName":"上手指南","lastContentLink":"https://help.aliyun.com/document_detail/26124.html?spm=a2c4g.11174283.2.16.51795b83pbkzav"}},{"infoName":"最佳实践","infoContent":{"firstContentName":"X-Engine的应用场景","firstContentLink":"https://help.aliyun.com/document_detail/148402.html?spm=a2c4g.11186623.2.14.3f592685zjuUxu#concept-2364901","lastContentName":"读写分离功能","lastContentLink":"https://help.aliyun.com/document_detail/96073.html?spm=a2c4g.11174283.2.53.42db5b83VvZvMJ"}},{"infoName":"产品推荐","infoContent":{"firstContentName":"云数据库PolarDB","lastContentName":"云原生数据仓库MySQL","firstContentLink":"https://www.aliyun.com/product/polardb","lastContentLink":"https://www.aliyun.com/product/ads"}}]}],"visual":{"textColor":"dark","topbg":""}}}

    展开全文
  • 注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver()); System.getProperty("jdbc.drivers","com.mysql.jdbc.Driver:oracle.jdbc.driver.OracleDriver"); Class.forName("com.mysql.jdbc.Driver")....
  • 在Java中想进行数据库操作,最重要的两个步骤就是加载数据驱动,然后取得数据库连接。1.加载 数据库驱动( Class.forName(String className) ):...不同的是,数据库是本身存在的,不需要Java进行创建,我们做的...
  • 原标题:什么是数据库驱动表如何选择驱动数据库不同模式下对驱动表影响 什么驱动驱动表(外层表)是在嵌套循环连接和哈希连接中,用来最先获得数据,并以此表的数据依据,逐步获得其他表的数据,直至最终查询...
  • 数据库驱动加载失败,数据库连接失败 我用的开发环境是IDEA,我先讲解IDEA出现问题,如何解决。 对于一些初学者,尤其是自学的人来说,很多人都会遇到数据库驱动加载失败,数据库连接失败的问题,但是好多时候都不...
  • 加载驱动:连接不同数据库要加载不同驱动;建立连接:访问一个数据库知道IP+端口号+数据库名,此外还有用户名和密码;声明要求:将sql语句传送给数据库服务器;执行:执行sql语句返回结果集;关闭:断开连接...
  • mysql 数据库驱动 pom

    千次阅读 2020-12-30 13:09:15
    用Maven插件生成Mybatis代码/数据库现在代码管理基本上是采用Maven管理,Maven的好处此处不多说,大家用百度搜索会有很多介绍,本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件。一、配置Maven pom.xml ...
  • JDBC与JAVA数据库编程一、JDBC的概念1、JDBC(JavaDataBaseConnectivity)Java数据库连接a)主要提供java数据库应用程序的API支持2、JDBC的主要功能a)创建和管理与数据源的连接b)发送SQL数据命令到数据源...文章青玉...
  • 常见数据库驱动实现类:JDBC-ODBC:sun.jdbc.odbc.JdbcOdbcDriverOracle:oracle.jdbc.driver.OracleDriverMySQL:...
  • 一般的数据库中,DATE字段只表示日期,不包含日期信息,而Oracle数据库中的DATE数据类型是包含日期、时间的,对于不同的Oracle jdbc驱动版本号。对于该问题的处理都有些差别。近期使用 ORACLE 10G,时间字段因需求,...
  • 1. 加载数据库驱动:1) 由于Java是一个纯面向对象语言,任何事物在其中都必须抽象成类或者类...3) 只不过数据库驱动对象和普通的Java对象有所不同:i. 首先大多数普通的Java对象都是运行该Java程序前不存在的,而是...
  • IDEA连接不同数据库

    2021-03-21 17:37:47
    文章目录IDEA连接不同数据库新建连接数据库连接信息驱动配置显示组织结构 视图打开:View>Tool Windows>Database 新建连接 在IDEA中新建一个Java工程后,最右侧侧边栏会有个 Database 标签,点击此...
  • 这个鼠标的例子只是为了说明:主机提供了统一的接入标准(USB),不同的设备想插入到主机上,就必须开发一个符合主机标准的驱动程序。 由上面的例子,就可以引出数据库驱动程序了:上面例子中的USB就相当于Java...
  • 一般的数据库中,DATE字段只表示日期,不包含日期信息,而Oracle数据库中的DATE数据类型是包含日期、时间的,对于不同的Oracle jdbc驱动版本号。对于该问题的处理都有些差别。近期使用 ORACLE 10G,时间字段因需求,...
  • 1. 加载数据库驱动通常来说,JDBC 使用 Class 类的 forName() 静态方法来加载驱动,需要输入数据库驱动代表的字符串。例如:加载 MySQL 驱动:Class.forName("com.mysql.jdbc.Driver");加载 Oracle 驱动:Class.for...
  • 一台MySql服务器不同数据库之间数据同步_解决方案(Java)原创!前提:目前MySql数据库中有两个数据库,名称分别:db01和db02。db01中的人员表叫t_user_info;db02中的人员表叫t_user。需求:将表t_user_info(id,...
  • 这些细节包括:1、导入JDBC包2、注册oracle JDBC驱动程序3、打开数据库连接4、执行SQL DML语句在数据库表中获取、添加、修改和删除行一、JDBC驱动程序共有有4种1、Thin驱动程序Thin驱动程序是所有驱动程序中资源消耗...
  • java连接mysql数据库数据库程序开发步骤首先就要加载JDBC驱动程序,不同版本的mysql数据库需要的MySQL数据库驱动程序jar包版本也不同。不少同学问怎么下载java连接mysql的驱动jar包?今天给大家分享:各版本MySQL...
  • 1、在配置文件中加入多数据源信息(不同数据库类型,pom文件中引入相对应的数据库驱动) datasource: local: jdbc-url: jdbc:postgresql://ip:port/cpic?currentSchema=********* username: ********* ...
  • DriverManager:管理数据库驱动程序的列表,查看加载的驱动是否符合 JAVA Driver API 的规范。 Connection:客户端与数据库所有交互都是通过connection对象完成的。 Statement:用于向数据库发送 SQL 语句。 ...
  • 数据库厂商提供的驱动程序:数据库的种类有多种,比如mysql、oracle等,不同数据库不同驱动程序。所以在进行其他操作前,首先下载导入对应的驱动程序jar包。连接测试步骤:先声明所用到的数据库的...
  • 根据自己的jdk版本选择不同的 .jar文件,因为我的jdk版本是14,所以选择mssql-jdbc-8.4.1-jre14.jar,将它复制到java项目中,最好放在一个文件夹中。 3、配置jdbc驱动程序 (以eclipse例) 选中Java项目中的jdbc...
  • 好忧伤,java连接sql数据库加载驱动就是失败了以下是代码部分packagecom.test;importjava.sql.*;publicclassTest{publicvoidgetConnectionSqlServer(){StringdriverName="com.jdbc.sqlserver.SQLServerDriver";...
  • 那么对数据管理,为什么要使用数据库?我们可以独立使用所需的数据。因为程序和数据是独立的,所以当不相关数据的类型添加到数据库中或从数据库中删除不相关的数据时,或者物理存储发生更改时,不必修改程序。为什么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 318,373
精华内容 127,349
关键字:

为什么不同的数据库要不同的驱动