国产化软件和国产化芯片的窘境一样,一方面市场已经存在性能优越的同类软件,成本很低,但小众的国产化软件不仅需要高价买入版权,并且软件开发维护成本高;另一方面,国产软件目前普遍难用,性能不稳定,Bug满天飞,虽然可以去迭代,但是没有人愿意耐心地等国产软件迭代,甚至市场的生态不给国产软件迭代的机会,选择性忽视国产,国内公司也不会给工程师去试错的机会,这直接限制了中国软件的能力提升。
  虽然国产软件处于劣势,但是在涉及GJ安全的领域,国产化一词是个香饽饽,处于强势地位,尤其是中兴事件以后,国产化会慢慢推进。我们是支持国产化的,但是希望国产化软件能够主动创新,不要活在ZF和TZ的庇护下,永远长不大,偏安一隅,走不到市场去竞争。
  国产数据库有达梦数据库、人大金仓数据库,本文主要讲述人大金仓数据库如何在windows 7/10操作系统上用C#编程语言通过ODBC接口访问,来支持国产化。

人大金仓数据库介绍

  北京人大金仓信息技术股份有限公司(简称:人大金仓)是中国自主研发数据库产品和数据管理解决方案的领导企业,由中国人民大学及一批最早在国内开展数据库教学、研究与开发的专家于1999年发起创立,至今已成功获得中国电子科技集团(CETC)旗下的普华基础软件股份有限公司和太极计算机股份有限公司的战略注资,被纳入CETC集团的整体发展战略。
  KingbaseES是人大金仓面向事务处理类、兼顾简单分析类应用的数据库产品,可承载各行业管理信息系统和业务生产系统的相关业务,可用于替代Oracle的大型通用关系型数据库。(官网介绍,看看就好,明白怎么回事)
  因为人大金仓需要购买版权,现在网络上流传着一个古老的版本Kingbase ES V3.1,自备激活码,本文以此数据库为例,讲述数据库开发流程。

ODBC介绍

  人大金仓数据库提供了基于开放数据库连接(Open Database Connectivity, ODBC)的接口,ODBC为异构数据库访问提供统一接口,允许应用程序以SQL为数据存取标准,存取不同DBMS管理的数据,使应用程序直接操纵DB中的数据,免除随DB的改变而改变。

软件配置

  在安装Kingbase ES V3.1时,请一定按照步骤安装,这个版本比较古老,否则容易按照失败,大概归纳为:

  • 打开setup文件夹后,运行setup,输入序列号,安装完成后如下图所示:
  • 安装完成后,运行前,在开始菜单打开数据库初始化工具来初始化
  • 运行交互查询工具,其中的用户名是SYSTEM,密码是MANAGER
  • 如果提示连接服务器启动失败,查看数据库服务管理器是否启动,启动失败是无法运行交互查询工具的,如下图所示:

      总之,数据库安装成功并建表后,如下图所示,其中PUBLIC.MEMBERDB是本文根据演示需要建的表,储存用户信息。

    创建ODBC

      安装成功后,查看‪C:\Windows\SysWOW64\kodbc.dll是否存在,这是Kingbase和ODBC连接的驱动库。
      因为数据库软件是32位的,在控制面板的管理工具中,打开ODBC数据源(32位),点击用户DSN中的添加,查看是否存在Kingbase ODBC driver,如果不存在的话,可以运行:C:\Windows\SysWOW64\odbcad32.exe,步骤和上面一样。

      ODBC创建的具体步骤可以参考C#编程之ODBC连接数据库数据源。ODBC创建成功后,可以点击测试连接,会提示连接成功,如下图所示。

    C#开发

      本文提供了一个通过ODBC接口对Kingbase进行增删查改的类,在Win7/Win 10测试中均正常。源代码及数据库下载
      在运行本文的示例程序中,注意首先建表和实现ODBC连接,然后修改连接数据库的字符串,conStr = "Driver={Kingbase ODBC Driver};Server=W;Uid=SYSTEM;Pwd=MANAGER;Database=TEST;";
      此外,Kingbased的交互查询工具中,右键点击表有“脚本化到窗口”,可以生产数据库操作的SQL语句,方便数据库的开发。比如“SELECT "ID","NAME","PASSWORD","MAN","LEVEL","ADDTIME" FROM "PUBLIC"."MEMBERDB";”

通过ODBC接口访问人大金仓数据库的更多相关文章

  1. QT 之 ODBC连接人大金仓数据库

    QT 之 使用 ODBC 驱动连接人大金仓数据库 获取数据库驱动和依赖动态库 此操作可在人大金仓官网下载与系统匹配的接口动态库,或者从架构数据库的源码中获取驱动和依赖动态库 分别为: 驱动动态库:kd ...

  2. 通过jmeter连接人大金仓数据库

    某项目用的人大金仓数据库,做性能测试,需要用jmeter来连接数据库处理一批数据.jmeter连接人大金仓,做个记录. 1. 概要 在"配置元件"中添加"JDBC Con ...

  3. DBeaver连接达梦|虚谷|人大金仓等国产数据库

    前言 工作中有些项目可能会接触到「达梦.虚谷.人大金仓」等国产数据库,但通常这些数据库自带的连接工具使用并不方便,所以这篇文章记录一下 DBeaver 连接国产数据库的通用模版,下文以达梦为例(其他国 ...

  4. 教你10分钟对接人大金仓EF Core 6.x

    前言 目前.NET Core中据我了解到除了官方的EF Core外,还用的比较多的ORM框架(恕我孤陋寡闻哈,可能还有别的)有FreeSql.SqlSugar(排名不分先后).FreeSql和SqlS ...

  5. linux安装国产数据库(金仓数据库,达梦数据库,南大通用数据库)

    今天在公司做的任务是,在Linux的环境下安装三种数据库,结果一种数据库也没有安装好,首先遇到的问题是安装南大通用数据库遇到安装的第五步,就出现问题了,问题是Gbase SDK没有安装成功,以及Gba ...

  6. 人大金仓KCI

    #include "bin/libkci.h" static void exit_nicely(KCIConnection *conn) { KCIConnectionDestor ...

  7. Rocky4.2下安装金仓v7数据库(KingbaseES)

    1.准备操作系统 1.1 系统登录界面 1.2 操作系统版本信息 jdbh:~ # uname -ra Linux jdbh -x86_64 # SMP Fri Dec :: CST x86_64 G ...

  8. 润乾配置连接kingbase(金仓)数据库

     问题背景 客户根据项目的不同,使用润乾连接的数据库类型各种各样,此文针对前几日使用润乾设计器连接kingbase金仓数据库做一个说明. kingbase金仓数据库是一款国产数据库,操作方式和配置 ...

  9. Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

    真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今 ...

随机推荐

  1. java课后思考问题(一)

    1.一个Java类文件中真的只能有一个共有类吗? 一个Java类文件中只能有一个公有类 2.请使用Eclipse或javac检测一下以下代码,有错吗? 在Java中,可以将一个类定义在另一个类里面或者 ...

  2. vue-cli中webpack配置解析

    版本号 vue-cli 2.8.1 (终端通过vue -V 可查看) vue 2.2.2 webpack 2.2.1 目录结构 ├── README.md ├── build │ ├── build. ...

  3. Web 2.0 浏览器端可靠性测试第1部分(浏览器端可靠性测试的概念和背景)

    Web 2.0 是一个体现当代网络技术发展趋势的流行概念.它使得基于 Web 的信息交互和用户间协作性更加灵活和丰富.很多的社交网站.博客.wiki,都是 Web 2.0 技术的典型应用. 我们知道, ...

  4. python 几个常用自定义函数在dataframe上的应用

    最小值与最大值 def f(x): return pd.Series([x.min(),x.max(),index=['min','max']) frame.apply(f) 浮点值的格式化 form ...

  5. python处理时间和日期

    时间和日期  (图中错误修正:dt_obj.strftime(format))     import time, datetime 1. datetime obj 1) datetime dateti ...

  6. 性能测试工具LoadRunner14-LR之Controller 简介

    当虚拟用户开发完成之后,使用Controller将这个执行脚本的用户从单用户转化为多用户,从而模拟大量用户操作,进而形成负载.(多用户单循环,多用户多循环)我们需要对负载模拟的方式和特征进行配置. 场 ...

  7. python 自动安装工具 setuptools(easy_install) 的使用

    1.下载安装 python 安装工具,下载地址:http://pypi.python.org/pypi/setuptools ,可以找到正确的版本进行下载. 2.解压缩后双击 ez_setup.py ...

  8. spring4 使用websocket

    要了解的内容: sockjs,对于低版本的ie等不支持websocket的浏览器,采用js模拟websocket对象的办法来实现兼容(其实也有轮询的情况).sockjs地址 https://githu ...

  9. jQuery学习心得

    表示在document.ready时执行代码 $(function(){ //1.取得要操作的对象(尽量只限制范围),如果对象多次使用要记得缓存 var $selector = $('selector ...

  10. JEECMS站群管理系统-- 首页的加载过程

    在浏览器中输入http://localhost:8080/jeecms,回车 首先进入配置文件web.xml, <context-param> <param-name>cont ...