【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语句}一 样的作用。