【YashanDB知识库】如何远程连接、使用YashanDB?

news/2024/9/24 5:22:03/文章来源:https://www.cnblogs.com/YashanDB/p/18330469

问题现象

在各个项目实施中,我们经常遇到客户、开发人员需要连接和使用YashanDB但不知如何操作的问题,本文旨在介绍远程连接、使用YashanDB的几种方式。

问题的风险及影响

无风险

问题影响的版本

历史版本~23.2

问题发生原因

解决方法及规避方式

不需要规避

问题分析和处理过程

方式一 客户端工具yasql

yasql简介

yasql 是YashanDB的客户端连接管理工具,可以通过此工具连接数据库服务器并对其进行操作和维护,除了具备操作数据库的基本功能,yasql还提供了若干其他功能,便于用户使用。

一般而言,在部署YashanDB的数据库上会同步部署yasql,其安装目录一般在$YASDB_HOME/bin下。

yasql的一般使用

使用yasql -H命令可查看帮助和版本信息。

$ yasql -H

使用yasql -V命令可查看版本信息。

$ yasql -V

常用的登录方式:

  • 方式一:通过输入用户名 、密码、数据库主机名和监听端口等信息登录并连接数据库,格式为"yasql /@:"。

  • 方式二:通过在${YASDB_HOME}/client/yasc_service.ini中定义的连接别名登录并连接数据库,格式为"yasql /@alias"。

  • 方式三:通过操作系统认证方式登录,格式为"yasql / as sysdba"或"yasql / as sysdba",连接到本地YASDB_DATA环境变量对应的数据库实例。操作系统认证方式登录需配置后才可使用,配置操作请参考数据库管理手册操作系统身份认证配置。

操作示例

使用Yasql执行一个sql文件

可以通过参数"-f [-e]" 执行一个SQL文件。其中,“-e”显示执行的语句。通过重定向符,还可以记录输出。

操作示例

通过 "!" 执行外部的shell命令

可以通过使用 "!“ 在yasql中执行外部命令

操作示例

如何退出

通过 "exit" 或者 ctrl+z的方式退出yasql

操作示例

在输入sql时回退以及上下翻页

安装rlwrap

sudo yum install rlwrap
sudo yum -y install readline*
wget http://files.cnblogs.com/files/killkill/rlwrap-0.30.tar.gz.zip
tar -xf rlwrap-0.30.tar.gz.zip
cd rlwrap-0.30
./configure
make
sudo make install

操作示例

如何单独安装Yasql

当需要在一台额外的服务器上访问远程的数据库时(或在windows本地),可能需要单独安装yasql。

linux中安装使用

1 获得安装包--arm 环境
yashandb-client-23.1.3.101-linux-aarch64.tar.gz--X86环境
yashandb-client-23.1.3.101-linux-x86_64.tar.gz2 解压安装包cd /home/yashanclient/yasql  (例如在这个目录)
tar -zxf yashandb-client-23.1.3.101-linux-x86_64.tar.gz3 获得当前目录,设置环境变量pwd
#例如输出:/home/yashanclient/yasqlexport LD_LIBRARY_PATH=${解压目录}/lib:$LD_LIBRARY_PATH
#例如:
export LD_LIBRARY_PATH=/home/yashanclient/yasql/lib:$LD_LIBRARY_PATH或者永久生效:
vi ~/.bashrc
写入
export LD_LIBRARY_PATH=${解压目录}/lib:$LD_LIBRARY_PATH
:wq!
source ~/.bashrc4 连接yashan服务端cd yasql解压目录/bin./yasql 用户/密码@IP:端口

windows中安装使用

1 解压yashandb-client-23.1.3.101-windows-amd64.zip
2 设置环境变量假如解压的目录是:C:\Users\huangsl\Desktop\yashandb-client-23.1.3.101-windows-amd64添加环境变量:用户环境变量--> 双击Path-->新建: C:\Users\huangsl\Desktop\yashandb-client-23.1.3.101-windows-amd64\lib保存3 使用打开powershellcd C:\Users\huangsl\Desktop\yashandb-client-23.1.3.101-windows-amd64\bin.\yasql username/userpassword@ip:port

方式二 使用开发者工具DBeaver

DBeaver简介

DBeaver for YashanDB基于流行的开源图形化工具DBeaver,在严格遵循DBeaver Community Edition 的ASL开源协议基础上,进行了二次开发和封装,支持管理单机、集群和分布式三种形态的YashanDB数据库图形化开发及管理。可以通过下载中心下载:https://download.yashandb.com/download

连接YashanDB

参考操作文档:DBeaver 建立YashanDB连接

方式三 使用Yasboot连接

Yasboot工具也集成了yasql客户端的功能(实际上是调用了yasql)。

示例1(连接yasql客户端)

#指定节点标识连接
$ yasboot sql -n 1-1 -u username -p password -c yashandb#指定IP:PORT连接
$ yasboot sql -d username/password@127.0.0.1:1688# ipv6 需要添加中括号
$ yasboot sql -d username/password@[::1]:1688

示例2(执行SQL语句)

$ yasboot sql -n 1-1 -u username -p password -c yashandb -s 'select status from v$instance;'STATUS           
-----------------
OPEN 

示例3(执行SQL文件)

$ yasboot sql -d username/password@127.0.0.1:1678 -f get_status.sql --echo

方式四 使用高级编程语言的数据库驱动

YashanDB 23.2版本对外支持的驱动有:JAVA、Python、C、.NET等

以常用的JDBC举例:

//DriverManager方法
public static Connection getConnection(String username, String passwd) {//驱动类。String driver = "com.yashandb.jdbc.Driver";//数据库连接描述符。String sourceURL = "jdbc:yasdb://10.10.10.2:1688/yasdb";Connection conn = null;try {//加载驱动。Class.forName(driver);} catch( Exception e ) {e.printStackTrace();return null;}try {//创建连接。conn = DriverManager.getConnection(sourceURL, username, passwd);System.out.println("Connection succeed!");} catch(Exception e) {e.printStackTrace();return null;}return conn;}//YasDataSource方法
public static Connection getConnDS() {Connection connect = null;try {YasDataSource ads = new YasDataSource();ads.setURL(url);connect = ads.getConnection(user, password);} catch (Exception e) {e.printStackTrace();}return connect;}

其它详细介绍见文档:JDBC驱动

经验总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/773675.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GIS场景零代码拖拽式编辑,支持TMS/WMS/WMTS等多种GIS协议

在三维GIS领域,编辑场景和处理影像数据通常是一个复杂且费时的过程,但现在有了山海鲸可视化,这一切都变得简单有趣。这款免费可视化工具为您提供了零代码拖拽式编辑的体验,让您无需编程知识就能轻松创建和优化GIS场景。通过直观的界面,您只需动动鼠标就能完成从场景编辑到…

【攻防技术系列+代理转发】ICMPSH 工具

虚拟机环境搭建: 【Kali】,192.168.10.131 【window7】,192.168.10.1工具: ICMPSH(基于网络层) Wireshark实验开始前,确保两台主机可以ping通。如果遇到环境ping不通的情况,可以借鉴以下解决方案。 重启网卡:有来有回的过程,数据长度为74。 【kali】: sysctl -w net…

人大金仓踩坑指南

现在越来越多的项目要求-切换国产数据库系统,或达梦(性能高),或人大金仓(扩展性高,更稳定),跨平台如果上来就干,坑还是不少的,本人有幸踩个遍.1. 软件有效期,人大金仓可不便宜,不少政府采购网上都是标价10万+, 测试时候用专业版玩一玩就好到期后,可以直接下载其他版…

linux shell read 按列读取txt文本

前言全局说明一、说明 通常情况下,如果文本里有多列数据,会先读入,然后用 grep 和 awk 先拆分成行,在拆分成列。这样费时费力,遇到特殊字符行,还不好处理。 在解决别的问题时候,无意发现 read 有直接按列读取的功能。二、文件 2.1 存放两列数据的文件 文件名:list.txt…

什么是云计算?

云计算是一种服务的模式(商业模式):将信息类资源以服务的方式提供给用户使用,用户可以便捷的、按需计费的、弹性的从云端获取到信息技术的服务。 云计算技术栈层级:CPU CPU的组成: 1、运算器(算术逻辑单元) 2、控制器() 3、存储器(命令和需要运算的数据) 1、高速缓…

Linux shell mktemp -d命令生成临时文件

前言全局说明一、说明二、mktemp 命令 2.1 创建临时文件 mktemp 2.1 创建临时目录 mktemp -d三、命令行示例 mktemp ll /tmp/tmp.fvi5gFbDgr四、sh 脚本使用 4.1 创建 tmpfile=$(mktemp)4.2 删除 rm "$tmpfile"免责声明:本号所涉及内容仅供安全研究与教学使用,如出…

Linux shell mktemp命令生成临时文件

前言全局说明一、说明二、mktemp 命令 mktemp三、命令行示例 mktemp ll /tmp/tmp.fvi5gFbDgr四、sh 脚本使用 4.1 创建 tmpfile=$(mktemp)4.2 删除 rm "$tmpfile"免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。参考、来源: ChatGPT 作…

「代码随想录算法训练营」第二十三天 | 贪心算法 part1

455. 分发饼干题目链接:https://leetcode.cn/problems/assign-cookies/ 题目难度:简单 文章讲解:https://programmercarl.com/0455.分发饼干.html 视频讲解:https://www.bilibili.com/video/BV1MM411b7cq 题目状态:初次有贪心算法的总体概念,有点懵思路: 先将饼干尺寸大…

人工智能|利用人工智能自动找bug

简介 在程序员编程的过程中,产生Bug是一件稀松平常的事情,以前在编码的过程中提前找出Bug,需要通过单元测试、CodeReview等各种方式。 当今,人工智能技术的发展给软件开发和测试带来了许多机会。利用人工智能技术,可以开发出自动化的 bug 检测工具,从而提高软件质量和可靠…

Pentester Academy -Windows API Exploitation Recipes: Processes, Tokens and Memory RW 2017版本

早年为Pentester Academy(https://www.pentesteracademy.com/) ,如今为INE (https://ine.com/)002 安装VS社区版 https://visualstudio.microsoft.com/zh-hans/003 process listing api 正在运行的是什么:服务,AV,HIDS/IPS等 其他attack开始的点:进程注入,内存dump/修改,…

基于EasyTcp4Net开发一个功能较为完善的去持久化聊天软件

之前自己写了一篇介绍TCP的一些常用的功能介绍和特征,并且用代码做了示例,最终开发了一个EasyTcp4Net的TCP工具库,其最大的特色就是使用了微软提供的高性能库中的一些数据结构来处理TCP数据。 最近辞职待业在家,也没啥事做,就利用自己写的TCP通讯库基础上开发了一个示例的…

c语言其二

1.代码区:可读可执行 2.堆栈:(参数,局部变量,临时数据) 3.堆:(动态申请,大小可变)可读可写 5.常量区:只读 变量 变量的声明 全局变量 int a,b,c; //全局变量的声明 void Fun() { a = 10; //全局变量的赋值 b = 20; c = a; } 局部变量 void Fun() { …