DM数据库API接口管理:JDBC、dmPython连接数据库方法

【JDBC篇】

JDBC安装步骤如下:

1、安装 Java 开发工具包–JDK
双击安装包进行安装,安装步骤简单,点击【下一步】安装即可。本人安装目录为:D:\Develop\Java\jdk1.8.0_101,安装完成如下图所示:

 安装成功后需要配置 JDK 环境变量,即将 JDK 安装路径的 bin 路径复制到环境变量 path 里,如下图所示:

环境变量配置成功后,可使用 win+R 打开命令提示符,输入 java -version 命令,可以正常出现 JDK 版本号,即环境变量配置成功,如下图所示:

2.、安装集成开发环境 IDEA
数据库连接

准备 DM-JDBC 驱动包

DM JDBC 驱动 jar 包在 DM 安装目录 /dmdbms/drivers/jdbc,如下图所示:

将其复制到项目的lib文件夹中,如图:

 在pom文件中导入依赖

<dependencies>
    <dependency>
        <groupId>com.dameng</groupId>
        <artifactId>dm-jdbc</artifactId>
        <version>1.8</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/DmJdbcDriver18.jar</systemPath>
    </dependency>
</dependencies>


3、数据库连接(connection)示例代码
 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
public class Demo01 {
 
    static Connection con = null;
    static String cname = "dm.jdbc.driver.DmDriver";
    static String url = "jdbc:dm://localhost:5236";
    static String userid = "SYSDBA";
    static String pwd = "";//密码是自己定义dm数据库密码
    public static void main(String[] args) {
        try {
            Class.forName(cname);
            con = DriverManager.getConnection(url, userid, pwd);
            con.setAutoCommit(true);
            System.out.println("数据库连接成功");
        } catch (Exception e) {
            System.out.println("数据库连接失败:" + e.getMessage());
        }
 
 
 
    }
    public void disConn(Connection con) throws SQLException {
        if (con != null) {
            con.close();
        }
    }
 
}

4、基础增删改查示例代码(crud)

import java.sql.*;
 
public class Demo03 {
 
    static String cname = "dm.jdbc.driver.DmDriver";
    static String url = "jdbc:dm://localhost:5236";
    static String userid = "SYSDBA";
    static String pwd = "";//密码是自己定义的dm数据库密码
    static Connection con = null;
    static Statement state = null;
    static ResultSet rs = null;
 
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        try {
            //连接JDBC驱动程序
            System.out.println("Loading JDBC Driver...");
            Class.forName(cname);
            System.out.println("加载成功");
            //连接DM数据库
            System.out.println("Connecting to DM Server..");
            con = DriverManager.getConnection(url,userid,pwd);
            //通过连接对象创建java.sql.Statement对象
            state = con.createStatement();
            System.out.println("连接成功");
 
            System.out.println("-----------------------");
 
            //定义插入SQL语句
           // String sql_insert1 = "insert into emp(empid,empname,deptid)values(1,'ceshi',10)";
            //String sql_insert2 = "insert into emp(empid,empname,deptid)values(2,'test',10)";
            //state.execute(sql_insert1);
            //state.execute(sql_insert2);
            System.out.println("插入成功");
 
            //定义删除SQL语句
            String sql_del = "delete  from emp where empid = 2";
            boolean b = state.execute(sql_del);
            System.out.println("删除成功");
 
            //修改
            String sql_update = "update emp set"+" empname = 'test' where empname = 'ceshi';";
            state.executeUpdate(sql_update);
            System.out.println("更新成功");
 
            //定义查询 SQL
            String sql_selectAll = "select * from emp";
            //执行查询的 SQL 语句
            rs = state.executeQuery(sql_selectAll);
            displayResultSet(rs);
 
 
        }catch (ClassNotFoundException e){
            e.printStackTrace();
 
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            try {
                //rs.close();
                state.close();
                con.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
        }
    }
 
 
    public static void displayResultSet(ResultSet rs) throws SQLException {
        while (rs.next()) {
            System.out.println(rs.getInt(1)+ "  " + rs.getString(2) + " " + rs.getInt(3));
        }
    }
}

运行结果

【dmPython篇】

python使用的环境介绍:

安装python3.7.0,并安装编译工具gcc;python安装成功后,在root的环境变量中,在LD_LIBRARY_PATH变量添加上DM8数据库的动态库dpi的路径,如果没有安装DM8,只想连接其他服务器上的DM8数据库,从DM8服务器端,将动态库dpi上传到python端,并将dpi改名为bin,将dpi中的include目录移到与bin同一目录下,修改环境变量后,便可编译dmPython。

接下来是具体步骤

一、环境准备
1. 安装Python3.7.0(Linux环境)
(1)到python官网上下载python3.7.0版本压缩包下载,下载链接:

https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

(2)安装编译工具gcc

[root@dameng ~]# yum -y install gcc automake autoconf libtool make  # 下载安装gcc组件
(3)安装python依赖包:必须安装,否则安装python会报错,3.7.0版本以下的版本可以忽略;

[root@dameng ~]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel


(4)上传压缩包,并解压:

         用WinSCP或XShell等远程连接工具,将python压缩包上传至/app目录下        

[root@dameng ~]# mkdir /app    # 创建一个安装目录;
[root@dameng app]# tar -zvxf Python-3.7.0.tgz   # 解压;
(5)执行配置文件,编译安装python3.7.0:

[root@dameng Python-3.7.0]# ./configure --prefix=/app/python/Python-3.7.0
[root@dameng Python-3.7.0]# make && make install


此过程若没有报错,即为安装成功。

(6)建立软连接:

        软连接的作用是把安装目录下面bin里面的python3 快捷方式再链接到 /usr/bin 里面建立一个python3软链接,这个快捷方式可以任意命名,这样直接在命令行里面输入python3 -V 就输出了python3的版本.可以直接在任意路径里面输入python .py 执行脚本.

[root@dameng ~]# ln -s /app/python/Python-3.7.0/bin/python3.7 /usr/bin/python3
[root@dameng ~]# ln -s /app/python/Python-3.7.0/bin/pip3.7 /usr/bin/pip3


(7)添加环境变量:

[root@dameng ~]# vim /etc/profile 
   

export PATH=$PATH:/app/python/Python-3.7.0/bin


[root@dameng ~]# source /etc/profile    # 执行脚本文件生效;


 (8)测试python3:

[root@dameng ~]# python3 --version   # 查看版本;


[root@dameng Python-3.7.0]# python3    # 进入python编辑器;
>>> print(‘hello world’)


能成功打印出hello world就证明python编辑器能正常使用,按Ctrl+Z退出。

2. 编译dmPthon
方法一:安装DM8数据库进行编译
(1)安装DM8数据库:详情请参考博客:
达梦数据库单机安装(CentOS7版)_world of qiqi的博客-CSDN博客
总体流程:用ssh终端,连接上虚拟机;用远程连接工具如XShell、WinSCP等,将CentOS7版DM8镜像文件挂载至虚拟机里;在虚拟机里创建dmdba用户组,创建dm8文件夹,将DM8数据库安装路径放到这里;安装好后,配置环境变量,初始化实例,再后台启动数据库服务,能成功进入到disql工具,就算是完成了.

(2)设置环境变量:

[root@dameng ~]# vim /root/.bash_profile


        添加上:

DM_HOME=/home/dmdba/dmdbms
export DM_HOME
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/drivers/dpi
[root@dameng ~]# source /root/.bash_profile 


(3)编译安装dmPython

        进入到$DM_HOME/drivers/python/dmPython目录下,执行命令:

[root@dameng dmPython]# python3 setup.py install 


        编译安装结束后,pip3 list命令查看安装是否成功:

[root@dameng dmPython]# pip3 list


方法二:不安装DM8进行编译
        如果在安装了python环境后,只想连接其他服务器上的DM8数据库,而不想在本机上安装数据库,可以采用以下方法:

(4)将DM8数据库的服务端的$DM_HOME/drivers/dpi、$DM_HOME/drivers/python/dmPython这两个目录scp一份到安装了python连接服务端,再将dpi改名为bin,并将dpi目录下的include目录mv到$DM_HOME目录下:

[root@hsdmdb drivers]# scp -r dpi/ python/dmPython/ root@192.168.222.142:/dm8
[root@dameng ~]# mv /dm8/dpi /dm8/bin
[root@dameng ~]# mv /dm8/dpi/include /dm8


(5)添加环境变量:

[root@dameng ~]# vim /root/.bash_profile 


   

DM_HOME=/dm8
export DM_HOME
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
[root@dameng ~]# source /root/.bash_profile     # 执行文件生效;


(7)编译dmPyhton:进入$DM_HOME/dmPython执行以下命令即可完成编译:

[root@dameng dmPython]# python3 setup.py install 
二、测试Python连接DM8数据库
1. 编写代码测试
(1)创建一个py_conn.py文件

[root@dameng ~]# mkdir /pytest
[root@dameng pytest]# vim py_conn.py


        添加内容:

#!/usr/bin/python
#coding:utf-8
 

import dmPython
try:
        conn = dmPython.connect(user=input('请输入用户名:'), password=input('口令:'), server=input('主机名:'), port=input('端口号:'))
        cursor = conn.cursor()
        print('python: conn success!')
        print('您成功连接主机')
        conn.close()
except (dmPython.Error, Exception) as err:
        print(err)
[root@dameng pytest]# python3 py_conn.py


 结果能返回conn success!,即可证明连接DM8数据库成功!

三、报错分析
1. 在执行py_conn.py文件是,返回报错是dmPython:没有此文件目录一类的错误,检查查/root/.bash_profile里面的$DM_HOME和$LD_LIBRARY_PATH是否添加上,在执行文件生效source /root/.bash_profile,或echo $DM_HOME和echo $LD_LIBRARY_PATH直接查看其路径是否正确。

2. 在安装gcc组件和python依赖包时,出现此错误,就执行下列命令:

[root@dameng Python-3.7.0]# rm -f /var/run/yum.pid


3. 在编辑python文件的时候,注意python语句的缩进(按Tab键),因为 python是以缩进来区分语句的递属关系的,类似与Java的中括号{Java语句}一 样的作用。
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要通过JDBC连接到达梦数据库,您需要进行以下几个步骤: 1. 首先,确保您已经下载并安装了达梦数据库JDBC驱动程序。您可以从达梦官方网站获取该驱动程序。 2. 在您的Java项目中,将JDBC驱动程序的jar文件添加到您的类路径中。 3. 在Java代码中,使用以下语句加载JDBC驱动程序: ```java Class.forName("dm.jdbc.driver.DmDriver"); ``` 4. 创建数据库连接对象,并使用适当的连接URL、用户名和密码来设置连接属性。例如: ```java String url = "jdbc:dm://localhost:5236/mydatabase"; String username = "your_username"; String password = "your_password"; Connection connection = DriverManager.getConnection(url, username, password); ``` 请将 `localhost` 替换为您的数据库主机名,`5236` 替换为数据库端口号,`mydatabase` 替换为您要连接的数据库名称。 5. 现在,您可以使用该连接执行SQL查询和更新操作。例如,执行查询并获取结果集: ```java Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table"); while (resultSet.next()) { // 处理结果集 } ``` 请将 `your_table` 替换为您要执行查询的实际表名。 6. 最后,在不再需要连接时,记得关闭连接: ```java connection.close(); ``` 这样,您就可以通过JDBC连接到达梦数据库并执行相关操作了。希望对您有所帮助!如有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值