![达梦数据库开发实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/573/52842573/b_52842573.jpg)
1.5.2 disql
disql是达梦数据库自带的一个命令行客户端工具,类似于Oracle数据库的SQLPLUS工具。通过disql可以和达梦数据库实例进行交互式操作。
1.连接数据库实例
disql文件存放在达梦数据库安装路径下的bin文件夹。如图1-50所示,在数据库服务器的命令行模式下直接运行,按照提示输入用户名、密码等信息,即可连接到本地数据库实例。
![](https://epubservercos.yuewen.com/5DA094/31397985503796406/epubprivate/OEBPS/Images/Figure-P34_24302.jpg?sign=1739456486-Ww5m8ClP1YfYmb5VnkxYJQpSkRRTSku0-0-75aaddebaec33debe06f1f0248669c52)
图1-50
如果本地服务器安装了多个数据库实例,或者需要连接远程的数据库,在disql命令后面需附加上要连接的数据库实例的用户名、密码和数据库实例的IP地址+端口号。达梦数据库通过不同的端口号区分不同的数据库实例,默认端口为5236。例如:
C:\Users\fuqiang>disql sysdba/SYSDBA@172.24.98.147:5236
2.执行语句
disql下除了可以直接执行SQL语句,还可以执行事先写好的SQL脚本文件。例如,先在D盘编辑好文本文件sql_script.sql,输入两行SQL语句,每条语句以分号结束:
select sysdate from dual; select now();
在disql中使用start命令(注意,start命令行末尾不要加分号),如图1-51所示。
也可以使用“·”键(键盘Esc下方的按键)代替start,如图1-52所示。
![](https://epubservercos.yuewen.com/5DA094/31397985503796406/epubprivate/OEBPS/Images/Figure-P35_24367.jpg?sign=1739456486-vVdgovAIR9Q5j162xHrmUiJInn4GDbg8-0-337936bc07c29d82808e6bcd8470470b)
图1-51
![](https://epubservercos.yuewen.com/5DA094/31397985503796406/epubprivate/OEBPS/Images/Figure-P35_24372.jpg?sign=1739456486-LXluud8qmd129ePNStNzm5Mtk2kcsc3b-0-3e3d45945f3adb748053245b48cbc9b5)
图1-52
3.使用操作系统认证登录
在Oracle数据库服务器上,可以通过修改配置文件sqlnet.net中的用户认证方式,实现管理员免密码登录。达梦数据库不仅可以实现管理员在服务器端免密码登录,也可以让普通用户在服务器端免密码登录。
达梦数据库的操作系统认证很简单,主要分以下两个步骤。
步骤01 将允许本机操作系统认证的ENABLE_LOCAL_OSAUTH参数设置为1(默认为0):
SQL> SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);
该参数是静态参数,修改后需要重启数据库实例才能生效。
使用DM 8之前的版本可以直接修改参数文件dm.ini,添加ENABLE_LOCAL_OSAUTH=1即可。但这样的方式存在安全隐患。DM 8版本开始将此参数改为了隐含参数,存放在内部数据字典表中,不再保存在参数文件中,但通过视图V$DM_INI仍然可以查到这个参数。
步骤02 在服务操作系统上创建dmdba和dmusers两个用户组,dmdba用户组中的用户可以不用密码,以管理员(sysdba)身份登录数据库;dmusers用户组中的用户需要事先在数据库中创建同名的账号,即可实现免密码登录。
Windows操作系统中的步骤如下。
步骤01 创建dmdba、dmusers两个用户组。
步骤02 将操作系统账号加入这两个用户组,如图1-53所示。
步骤03 在数据库中创建账号fuqiang:
SQL> create user fuqiang identi fi ed by password;
![](https://epubservercos.yuewen.com/5DA094/31397985503796406/epubprivate/OEBPS/Images/Figure-P36_41456.jpg?sign=1739456486-rz0m38NtUCbxixzvEJzDzXkKc7m6LJ0b-0-1dc45d155613641c20e6fb2c81d1a9f1)
图1-53
步骤04 登录测试:
以sysdba身份登录,如图1-54所示。
![](https://epubservercos.yuewen.com/5DA094/31397985503796406/epubprivate/OEBPS/Images/Figure-P36_24414.jpg?sign=1739456486-niMj0erXmLyfR0MfKaZPFIZrwC4OYclL-0-374f8fe8288951c2d911aad5083aee87)
图1-54
以普通用户身份登录,如图1-55所示。
![](https://epubservercos.yuewen.com/5DA094/31397985503796406/epubprivate/OEBPS/Images/Figure-P36_24419.jpg?sign=1739456486-wa1NjBDzC6YuMQtyMApaB4w6fPINIWAP-0-b87a055f2902df8cc83dc73b24996457)
图1-55
Linux操作系统中的步骤如下。
步骤01 创建dmdba、dmusers组。
[root@dbserver ~]#groupadd dmdba [root@dbserver ~]#groupadd dmusers
步骤02 将达梦数据库账号dmdba添加到dmdba、dmusers两个组中。
[root@dbserver ~]#usermod -a -G dmdba,dmusers dmdba
步骤03 在数据库中创建账号dmdba。
SQL>create user dmdba identi fi ed by password;
步骤04 登录测试过程如图1-56所示。
![](https://epubservercos.yuewen.com/5DA094/31397985503796406/epubprivate/OEBPS/Images/Figure-P37_24431.jpg?sign=1739456486-OnpEfLdWc4wmB1WgIMnMfshGiJGHMeEq-0-6b9ccfe958de9b39c20d85a7aa0538ee)
图1-56