我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java使用JNDI连接数据库的实现方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java使用JNDI连接数据库的实现方法是什么

本篇文章为大家展示了Java使用JNDI连接数据库的实现方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

    项目背景

    在项目中本身使用的SQL Server 数据库,某些功能下需要访问Sybase数据库(都淘汰的东西 QAQ),考虑到功能较少并且我们的UAT和PROD环境使用的是WebSphere,其本身已经存在JNDI的连接方式,因此我决定使用JNDI设置,那么就需要解决JNDI在Tomcat下的配置了,找了很多资料,说到这,不得不吐槽我们国内的博客论坛,大部分都是抄,关键是还抄不全,错漏百出,还不注明原作者。

    环境

    Eclipse:Luna
    Tomcat:apache-tomcat-9.0.8

    概念

    数据源与连接池

    数据源名称(data source name,DSN)是包含了有关某个特定数据库信息的数据结构,这个信息是开放式数据库连接驱动能够连接到数据库上必需的信息,其实本质上就使程序与数据库连接的通道。数据源中并无真正的数据,它仅仅记录的是你连接到哪个数据库,以及如何连接的,如odbc数据源。也就是说数据源仅仅是数据库的连接名称,一个数据库可以有多个数据源连接。

    在Java语言中,DataSource对象就是一个代表数据源实体的对象。一个数据源就是一个用来存储数据的工具,它可以是复杂的大型企业级数据库,也可以是简单得只有行和列的文件。数据源可以位于在服务器端,也可以位于客服端。

    连接池:在Java程序中,当我们需要对数据库进行操作时,对于数据库的增删改查等操作的前提是需要与数据库建立连接,而对于连接的管理其实就使建立在数据源的基础上,即连接池。
    常用的数据库连接池:

    序号连接池名称依赖的jar包实现的datasource类备注
    1JNDI该数据源是由相应的web服务器(例如:tomcat,weblogic,websphere)负责初始化,创建,管理。程序中不需要引入特别的jar包。Javax.sql.datasource
    2C3P0c3p0-0.9.xxx.jarcom.mchange.v2.c3p0.ComboPooledDataSource
    3DBCPcommons-dbcp.jar
    commons-pool.jar
    org.apache.commons.dbcp.BasicDataSource
    4BoneCPbonecp-0.6.5.jar
    google-collections-1.0.jar
    slf4j-api-1.5.11.jar,slf4j-log4j12-1.5.11.jar
    log4j-1.2.15.jar
    BoneCPDataSource

    什么是JNDI

    jndi全称是java naming and directory interface。简单点就是你按命名规则给一个东西命名然后你就可以通过该名字在特定环境下直接查找到该东西了。
    JNDI是用于向Java程序提供目录和命名功能的API。可以简单地把JNDI理解为一种将对象和名字绑定的技术,对象工厂负责生产出对象,这些对象都和惟一的名字绑定。外部程序可以通过名字来获取对某个对象的引用。在一个文件系统中,文件名被绑定给文件。在DNS中,一个IP地址绑定一个URL。在目录服务中,一个对象名被绑定给一个对象实体。

    在Intranets(企业内部网)和Internates(互联网)中目录服务(Directory service)都非常重要,它规范了命名规则,让人们容易理解实体及之间的关系。JNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。

    jndi被设计成独立于特定的目录服务,所以各种各样的目录都可以通过相同的方式进行访问。这样使用jndi的java程序员不仅可以获得统一规整的命名和目录,而且可以通过多层的命名方案无缝访问(seamless acess)目录对象。

    Java使用JNDI连接数据库的实现方法是什么

    JNDI优点

    JNDI是由web服务器,实现了java.sql.datasource。由web服务器负责初始化数据源,创建connection,分配,管理connection。由于本身是由web服务器实现的功能,因此不需要在项目project中引入特别的jar包,但是需要在服务器的某些配置文件中增加相关的配置。对于我们这种连接多个数据库有很好的效果。

    JDNI在Tomcat中的配置

    Jar包

    数据库的驱动程序包:
    jconn4.jar Sybase驱动程序包
    mssql-jdbc-6.1.0.jre7.jar SQL Server 程序驱动包
    2.JSP标签Ja包
    .jstl-1.2.jar
    standard-1.1.2.jar

    测试准备

    新建测试Web项目如下:

    Java使用JNDI连接数据库的实现方法是什么

    JSP:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %><!DOCTYPE HTML><html>  <head>    <title>JNDI数据源测试</title>  </head>    <body>        <%            Connection connOracle = null;            try {                //1、初始化名称查找上下文                Context ctx = new InitialContext();                //InitialContext ctx = new InitialContext();亦可                 //2、通过JNDI名称找到DataSource,对名称进行定位java:comp/env是必须加的,后面跟的是DataSource名                                DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/Sybase_claims");                //3、通过DataSource取得一个连接                connOracle = ds.getConnection();                out.println("Sybase Connection pool connected !!");                //4、操作数据库            } catch (NamingException e) {                System.out.println(e.getMessage());            } catch (SQLException e) {                e.printStackTrace();            } finally {                //5、关闭数据库,关闭的时候是将连接放回到连接池之中                connOracle.close();            }        %>        <hr/>        <%            Connection connSQLServer = null;            try {                //1、初始化名称查找上下文                Context ctx = new InitialContext();                //InitialContext ctx = new InitialContext();亦可                 //2、通过JNDI名称找到DataSource,对名称进行定位java:comp/env是必须加的,后面的是DataSource名                                DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sqlserver");                //3、通过DataSource取得一个连接                connSQLServer = ds.getConnection();                out.println("SQLServer Connection pool connected !!");                //4、操作数据库            } catch (NamingException e) {                System.out.println(e.getMessage());            } catch (SQLException e) {                e.printStackTrace();            } finally {                //5、关闭数据库,关闭的时候是将连接放回到连接池之中                connSQLServer.close();            }        %>    </body></html>

    Tomcat:

    Java使用JNDI连接数据库的实现方法是什么

    将数据库驱动Jar包放入Tomcat的lib文件夹下:

    Java使用JNDI连接数据库的实现方法是什么

    JNDI配置

    在Tomcat 配置文件server.xml(apache-tomcat-9.0.8\conf)中的GlobalNamingResources标签内定义

      <!-- Global JNDI resources       Documentation at /docs/jndi-resources-howto.html  -->  <GlobalNamingResources>    <!-- Editable user database that can also be used by         UserDatabaseRealm to authenticate users    -->    <Resource name="UserDatabase" auth="Container"              type="org.apache.catalina.UserDatabase"              description="User database that can be updated and saved"              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"              pathname="conf/tomcat-users.xml" /><!--  |- name:表示以后要查找的名称。通过此名称可以找到DataSource,此名称任意更换,但是程序中最终要查找的就是此名称,           为了不与其他的名称混淆,所以使用jdbc/oracle,现在配置的是一个jdbc的关于oracle的命名服务。  |- auth:由容器进行授权及管理,指的用户名和密码是否可以在容器上生效  |- type:此名称所代表的类型,现在为javax.sql.DataSource  |- maxActive:表示一个数据库在此服务器上所能打开的最大连接数  |- maxIdle:表示一个数据库在此服务器上维持的最小连接数  |- maxWait:最大等待时间。10000毫秒  |- username:数据库连接的用户名  |- password:数据库连接的密码  |- driverClassName:数据库连接的驱动程序  |- url:数据库连接的地址--><!--配置Sysbase数据库的JNDI数据源--><Resource         name="jdbc/Sybase_claims"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="test"         password="test"        driverClassName="com.sybase.jdbc4.jdbc.SybDriver"        url="jdbc:sybase:Tds:127.0.0.1:4101?ServiceName=db_claims"/><!--配置SQL Server数据库的JNDI数据源--><Resource         name="jdbc/sqlserver"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="sa"         password="p@ssw0rd"        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"        url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=sonora"/>

    全局引用

    在Tomcat 的context.xml(apache-tomcat-9.0.8\conf)中引用,针对于本Tomcat服务器下所有项目使用。

    <Context>    <!-- Default set of monitored resources. If one of these changes, the    -->    <!-- web application will be reloaded.                                   -->    <WatchedResource>WEB-INF/web.xml</WatchedResource>    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>    <!-- Uncomment this to disable session persistence across Tomcat restarts -->    <!--    <Manager pathname="" />    --><ResourceLink name="jdbc/Sybase_claims" global="jdbc/Sybase_claims" type="javax.sql.DataSource"/><ResourceLink name="jdbc/Sybase_iws_ref" global="jdbc/Sybase_iws_ref" type="javax.sql.DataSource"/></Context>

    当然,我们也可以不引用局部配置的,在Context标签中直接写数据源:

    <Context>    <!-- Default set of monitored resources. If one of these changes, the    -->    <!-- web application will be reloaded.                                   -->    <WatchedResource>WEB-INF/web.xml</WatchedResource>    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>    <!-- Uncomment this to disable session persistence across Tomcat restarts -->    <!--    <Manager pathname="" />    --><!--配置Sysbase数据库的JNDI数据源--><Resource         name="jdbc/Sybase_claims"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="test"         password="test"        driverClassName="com.sybase.jdbc4.jdbc.SybDriver"        url="jdbc:sybase:Tds:127.0.0.1:4101?ServiceName=db_claims"/><!--配置SQL Server数据库的JNDI数据源--><Resource         name="jdbc/sqlserver"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="sa"         password="p@ssw0rd"        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"        url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=sonora"/></Context>

    局部引用

    局部引用:即是配置的数据源,只针对于指定项目使用。
    方式一:在server.xml中的host标签内配置

      <Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">        <!-- SingleSignOn valve, share authentication between web applications             Documentation at: /docs/config/valve.html -->        <!--        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />        -->        <!-- Access log processes all example.             Documentation at: /docs/config/valve.html             Note: The pattern used is equivalent to using pattern="common" -->        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log" suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" /><Context docBase="jndi_demo" path="/jndi_demo" reloadable="false"><ResourceLink name="jdbc/Sybase_claims" global="jdbc/Sybase_claims" type="javax.sql.DataSource"/><ResourceLink name="jdbc/sqlserver" global="jdbc/sqlserver" type="javax.sql.DataSource"/></Context>      </Host>

    当然也也可以直接在Context标签下直接定义

    <Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">        <!-- SingleSignOn valve, share authentication between web applications             Documentation at: /docs/config/valve.html -->        <!--        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />        -->        <!-- Access log processes all example.             Documentation at: /docs/config/valve.html             Note: The pattern used is equivalent to using pattern="common" -->        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log" suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" /><Context docBase="jndi_demo" path="/jndi_demo" reloadable="false"><Resource         name="jdbc/Sybase_claims"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="test"         password="test"        driverClassName="com.sybase.jdbc4.jdbc.SybDriver"        url="jdbc:sybase:Tds:127.0.0.1:4101?ServiceName=db_claims"/><!--配置SQL Server数据库的JNDI数据源--><Resource         name="jdbc/sqlserver"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="sa"         password="p@ssw0rd"        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"        url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=sonora"/></Context>      </Host>

    方式二:在Tomcat安装目录下apache-tomcat-9.0.8\conf\Catalina\localhost下新建xml文件,文件名与项目名称相同。

    <!--映射JNDITest项目的虚拟目录--><Context docBase="D:/soft-install/apache-tomcat-9.0.8/webapps/jndi_demo/WebContent" debug="0" reloadable="false">     <!--引用Sybase数据库的JNDI数据源-->    <ResourceLink name="jdbc/Sybase_claims" global="jdbc/Sybase_claims" type="javax.sql.DataSource"/>    <!--引用sqlserver数据库的JNDI数据源-->    <ResourceLink name="jdbc/sqlserver" global="jdbc/sqlserver" type="javax.sql.DataSource"/></Context>

    方式三:
    在Tomcat下项目目录的META-INF中新建Context.xml 配置JNDI引用,例如:、apache-tomcat-9.0.8\webapps\jndi_demo\META-INF、。

    <Context reloadable="false"><ResourceLink name="jdbc/Sybase_claims" global="jdbc/Sybase_claims" type="javax.sql.DataSource"/><ResourceLink name="jdbc/sqlserver" global="jdbc/Sybase_iws_ref" type="javax.sql.DataSource"/></Context>

    <?xml version="1.0" encoding="UTF-8"?><Context   path="" reloadable="false"><Resource         name="jdbc/Sybase_claims"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="test"         password="test"        driverClassName="com.sybase.jdbc4.jdbc.SybDriver"        url="jdbc:sybase:Tds:127.0.0.1:4101?ServiceName=db_claims"/><!--配置SQL Server数据库的JNDI数据源--><Resource         name="jdbc/sqlserver"        auth="Container"         type="javax.sql.DataSource"        maxActive="100"         maxIdle="30"         maxWait="10000"        username="sa"         password="p@ssw0rd"        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"        url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=sonora"/></Context>

    这样做的好处就是可以脱离Tomcat配置的更改。

    注意

    看了很多文章,有些是在项目web.xml中配置如下内容,经过的验证Tomcat中是可有可无的,不过有些文章说最好加上,以便于项目移植,因为有些服务器是需要的。

    <?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>    <!--   JNDI配置的资源引用:  • res-ref-name:表示引用资源的名称  • res-type:此资源对应的类型为javax.sql.DataSource  • res-auth:容器授权管理   -->   <!--Sybase数据库JNDI数据源引用 -->  <resource-ref>      <description>Sybase DB Connection</description>      <res-ref-name>jdbc/Sybase_claims</res-ref-name>      <res-type>javax.sql.DataSource</res-type>      <res-auth>Container</res-auth> </resource-ref>    <!--SQLServer数据库JNDI数据源引用 -->  <resource-ref>      <description>SQLServer DB Connection</description>      <res-ref-name>jdbc/sqlserver</res-ref-name>      <res-type>javax.sql.DataSource</res-type>      <res-auth>Container</res-auth>  </resource-ref>  </web-app>

    JNDI配置我们可以发现,第三种方式完全脱离Tomcat的配置,对于server的影响较小。不过我比较推荐全局配置,各处引用,方便切换。

    Tomcat的配置修改后,最好重启Tomcat以便生效,对于server.xml修改必须重启生效,而context.xml配置保存后tomcat会自动加载无需重启

    JNDI数据源获取写法有一下两种,前者是针对于Tomcat中的,而后者是针对于IBM WebSphere。

    A: java:comp/env/jdbc/Sybase_claims
    B: jdbc/Sybase_claims

    针对于A:
    java:comp/env 是环境命名上下文(environment naming context(ENC)),是在EJB规范1.1以后引入的,引入这个是为了解决原来JNDI查找所引起的冲突问题,也是为了提高EJB或者J2EE应用的移植性。
    在J2EE中的引用常用的有:
    JDBC 数据源引用在java:comp/env/jdbc 子上下文中声明
    JMS 连接工厂在java:comp/env/jms 子上下文中声明
    JavaMail 连接工厂在java:comp/env/mail 子上下文中声明
    URL 连接工厂在 java:comp/env/url子上下文中声明

    上述内容就是Java使用JNDI连接数据库的实现方法是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Java使用JNDI连接数据库的实现方法是什么

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    Java使用JNDI连接数据库的实现方法是什么

    本篇文章为大家展示了Java使用JNDI连接数据库的实现方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。项目背景在项目中本身使用的SQL Server 数据库,某些功能下需要访问Sybase
    2023-06-22

    jndi连接数据库的步骤是什么

    JNDI(Java Naming and Directory Interface)连接数据库的步骤如下:1. 配置JNDI环境:在Java应用程序的配置文件中,如web.xml(对于Web应用程序)或persistence.xml(对于Ja
    2023-09-07

    java连接oracle数据库的方法是什么

    Java连接Oracle数据库有多种方法,以下是其中的一种常用方法:1. 导入Oracle JDBC驱动程序:首先需要下载并导入Oracle的JDBC驱动程序。可以从Oracle官方网站下载相应的驱动程序。2. 加载驱动程序:使用Class
    2023-08-09

    Java连接PostgreSql数据库及基本使用方法是什么

    这篇文章主要介绍“Java连接PostgreSql数据库及基本使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java连接PostgreSql数据库及基本使用方法是什么”文章能帮助大家解
    2023-07-05

    Java中JNDI注入的实现方法是什么

    这篇文章主要讲解了“Java中JNDI注入的实现方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中JNDI注入的实现方法是什么”吧!About JNDI0x01 简介JNDI
    2023-06-25

    android连接数据库的方法是什么

    Android连接数据库的方法有多种,最常用的方法是使用SQLite数据库。下面是使用SQLite数据库连接的步骤:1. 创建一个继承自`SQLiteOpenHelper`的类,用于创建和管理数据库。```javapublic class
    2023-08-28

    dbeaver连接数据库的方法是什么

    使用DBeaver连接数据库的方法如下:打开DBeaver应用程序。点击菜单栏中的“数据库”选项,然后选择“新连接”。在新连接窗口中,选择要连接的数据库类型,如MySQL、PostgreSQL、Oracle等。输入数据库连接信息,包括主机名
    dbeaver连接数据库的方法是什么
    2024-03-14

    oracle连接数据库的方法是什么

    Oracle连接数据库的方法通常是使用Oracle提供的客户端工具,比如SQL*Plus或SQL Developer。在这些工具中,用户需要提供数据库的连接信息,包括主机地址、端口号、数据库名称、用户名和密码等。用户还可以使用Oracle提
    oracle连接数据库的方法是什么
    2024-04-09

    sqlserver连接数据库的方法是什么

    在SQL Server中连接数据库可以使用以下几种方法:使用SQL Server Management Studio (SSMS):通过SSMS工具,可以轻松连接到SQL Server数据库并进行管理操作。在SSMS中,选择“连接到服务器”
    sqlserver连接数据库的方法是什么
    2024-04-09

    mysql连接数据库的方法是什么

    在MySQL中,连接到数据库的方法通常是使用mysql命令行工具或者通过编程语言中的相应库来连接数据库。在命令行中使用mysql命令行工具连接数据库的一般语法为:mysql -u username -p password -h host
    mysql连接数据库的方法是什么
    2024-03-05

    Sqlsugar连接数据库的方法是什么

    SqlSugar连接数据库的方法通常是通过创建一个SqlSugarClient对象,并指定连接字符串,然后调用该对象的方法来操作数据库。以下是一个示例代码:using SqlSugar;public class DatabaseHelpe
    Sqlsugar连接数据库的方法是什么
    2024-04-09

    ADO.NET连接数据库方法是什么

    这篇文章主要讲解了“ADO.NET连接数据库方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接数据库方法是什么”吧!ADO.NET连接数据库的内容包括:连接到数据库、
    2023-06-17

    Java使用JDBC连接数据库的步骤是什么

    Java使用JDBC连接数据库的步骤是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、JDBC是什么?JDBC 指 Java 数据库连接(Java Database
    2023-06-22

    asp.net web连接数据库的方法是什么

    在ASP.NET中连接数据库的方法有多种,其中常用的是使用ADO.NET库来进行数据库连接和操作。以下是连接数据库的一般步骤:1. 引入必要的命名空间:```csharpusing System.Data.SqlClient; //如果使用
    2023-09-08

    vb连接access数据库的方法是什么

    在VB中连接Access数据库的方法是使用ADODB(ActiveX Data Objects)库。以下是连接Access数据库的步骤:在VB中创建一个新的项目。在VB中选择“项目”菜单,然后选择“引用”。在“引用”对话框中,选择“Micr
    2023-10-21

    使用java如何实现连接数据库

    今天就跟大家聊聊有关使用java如何实现连接数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。package com.shsxt.jdbcs;import java.sql.Con
    2023-05-31

    asp access数据库连接的方法是什么

    ASP连接Access数据库的方法如下:1. 在ASP页面中创建一个连接对象:```Set conn = Server.CreateObject("ADODB.Connection")```2. 设置连接字符串:```conn.Connec
    2023-06-04

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录