国产数据库--HighGo DB(瀚高数据库)

公司介绍

瀚高基础软件股份有限公司(简称:瀚高软件,证券代码:833644)是中国基础软件先行者,业务方向涉及云计算、大数据、信息安全等领域,业务领域涵盖基础软件研发、数据工具软件研发、系统集成及增值服务等多种IT业务。

HighGo DB

瀚高数据库是完全自主可控的国产数据库产品。瀚高数据库管理系统凭借优秀的体系架构、稳定优异的数据访问性能、丰富的企业功能、灵活的扩展能力在全国各个行业获得广泛的认可,并在政府、金融、教育、制造、能源、交通、军工等多个领域得到广泛的应用。

官网介绍:http://www.highgo.com/content.php?catid=40


收费情况

  • 所有企业版数据库试用期一年,具体收费需联系营销人员购买正版授权
  • 试用安全版数据库产品需要申请,申请成功后只能使用试用版产品:
    电话申请:400-708-8006
    邮箱申请:[email protected]

下载地址

HighGo Database下载:http://www.highgo.com/content.php?catid=72&aid=70#fl1


安装方法

瀚高数据库管理系统V5安装手册(Windows平台)
瀚高数据库管理系统V5安装手册(Linux平台)


注:如果连接失败,可能是服务没启动,需要启动 hgdb 这个服务(如果无法启动服务,可能是还没有配置环境变量,需要配置环境变量),如下
hgdb-se.png


## 客户端HgAdmin的使用

客户端HgAdmin的使用具体在 瀚高数据库V5管理手册V4.0.pdf 的第五章可做参考,主界面如下:
HgAdmin主界面.png

注:文档应该没有更新最新版客户端使用手册,但大体上原理相同。


建立角色,控制权限

瀚高数据库基于PostgreSQL,所以在理解上与PostgreSQL一致。

在PostgreSQL中,用户与角色几乎是相同的概念,唯一的区别是用户创建时默认带LOGIN权限,而角色默认是不带登录权限的。
用户是访问数据库的唯一标识,是各种数据库权限的的唯一代表,也就是你通过用户来完成数据库的所有操作。所以,用户是一个独立的概念。

  • 创建角色
    角色.png

  • 填写账号密码
    createRole.png

  • 控制权限
    rolePermission.png


IDEA中使用JDBC连接瀚高数据库

  1. JDBC驱动程序下载
    下载地址:http://www.highgo.com/content.php?catid=72&aid=70#hp3

  2. 在IDEA中新建项目,将上一步下载的jdbc的jar包复制到lib目录下,并添加至项目(右键点击lib目录,选择Add as a Library),如下:
    addAsLib.png

  3. 连接HighGo DB示例

import java.sql.Connection;
import java.sql.DriverManager;

public class ConnectTest {
    public static void main(String[] args)
    {
        String driver = "com.highgo.jdbc.Driver";
        String url = "jdbc:highgo://127.0.0.1:5866/TPRG_TEST";
        try
        {
            Class.forName(driver);
            System.out.println("success find class");
            Connection conn = null;
            try
            {
                conn = DriverManager.getConnection(url, "用户名", "密码");
                System.out.println("成功连接数据库!");
            }
            catch (Exception ex)
            {
                System.out.println("Error: " + ex.getMessage());
                ex.printStackTrace(System.out);
            } finally
            {
                if(conn != null)
                {
                    conn.close();
                }
            }
        }
        catch (Exception ex)
        {
            System.out.println("Error: " + ex.getMessage());
            ex.printStackTrace(System.out);
        }
    }

}


存储过程

  1. 新建存储过程,示例
CREATE OR REPLACE FUNCTION public.pprg_users()
 RETURNS integer
 LANGUAGE plpgsql
AS $function$ 
begin 
 return (select USER_AGE from users where USER_ID=1001);
end;
$function$;
CREATE OR REPLACE FUNCTION PPRG_TEST(P_USER_ID int, y int, OUT sum int, OUT age int,out userName char)
AS $$
BEGIN
 sum := P_USER_ID + y;
 age :=(select USER_AGE from users where USER_ID=P_USER_ID);
 userName :=(select USER_NAME from users where USER_ID=P_USER_ID);
END;
$$ LANGUAGE plpgsql;

  1. HgAdmin客户端中调用
select public.pprg_users();
select public.PPRG_TEST(1001,2);

  1. java中调用示例
import java.sql.*;

public class PLTest {
    public static void main(String[] args)
    {
        String driver = "com.highgo.jdbc.Driver";
        String url = "jdbc:highgo://127.0.0.1:5866/TPRG_TEST";
        try
        {
            Class.forName(driver);
            System.out.println("success find class");
            Connection conn = null;
            try
            {
                conn = DriverManager.getConnection(url, "用户名", "密码");
                System.out.println("成功连接数据库!");
                //函数可以嵌入到Sql中
                String sql = "select pprg_users() from dual";
                //带参数的
                String sql2 = "select pprg_test(?,?) from dual";

                //调用方式还是和使用ps调用普通SQL一样
                PreparedStatement ps = conn.prepareStatement(sql2);
                ps.setObject(1, 1001);//第一个参数
                ps.setObject(2, 2);//第二个参数

                ResultSet rs = ps.executeQuery();
                if (rs.next()) {
                    System.out.println(rs.getObject(1));
                }
                rs.close();
                ps.close();
            }
            catch (Exception ex)
            {
                System.out.println("Error: " + ex.getMessage());
                ex.printStackTrace(System.out);
            } finally
            {
                if(conn != null)
                {
                    conn.close();
                }
            }
        }
        catch (Exception ex)
        {
            System.out.println("Error: " + ex.getMessage());
            ex.printStackTrace(System.out);
        }
    }

}

开发手册:瀚高数据库V5开发手册.pdf


.Net连接瀚高数据库

使用.Net连接瀚高数据库,需要使用Nhgdb这个组件。
Nhgdb组件是一个为HighGo DB数据库提供.NET Framework平台下数据驱动服务的库函数程序集(.NET Data Provider)。它允许用户在.NET Framework平台下建立用于访问HighGo DB数据库的应用程序。

Nhgdb组件下载:http://www.highgo.com.cn
ps:找不着,估计要给钱才给吧。

具体步骤请看以下文档:

如何使用Nhgdb组件
如何使用Nhgdb组件做net项目开发
一个使用Nhgdb组件的net程序示例


发布了42 篇原创文章 · 获赞 64 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/xch_yang/article/details/103261502
今日推荐