方法一:    配置derby.propertites文件:

文件内容:

derby.connection.requireAuthentication=true
derby.authentication.provider=BUILTIN
derby.user.username=password

将username和password改成你所需要的。我先设username为sa(这里会有问题,后面会讲),密码为password

把这个文件放到你的数据库所在的目录下。

然后打开cmd,进入数据库所在目录,运行ij工具,如果你不输入用户名和密码,只是输入如下语句:

Connect ‘jdbc:derby:testDataType;create=true’;

ij会提示你’ connection authentication failure occurred. Reason: Invalid authentication..’

所以,要运行以下语句:

Connect ‘jdbc:derby:testDataType;create=true;user=sa;password=password’;

接下来,如果你要对数据库进行操作,可能会出问题,试试select些数据,oops!

名为‘sa’的数据库模式不存在。因为,derby在用户登录之后,会默认使用与用户名相同的模式,如果该模式不存在,就会报错。有两种方法解决这个问题:
第一,    看下你的数据库存在的模式是什么名称?我的是app,那么创建一个名为app的用户,登录后直接就对app模式数据库进行操作了。

第二,    不改用户名,直接用sa登录,登录之后运行这条语句:set schema app;再进行操作就OK了。无图无真相,看图:

别高兴得太早,让我们跑到另一个路径下执行ij,悲惨的事情即将发生:

看,我现在是在c盘根目录下运行ij,没有用用户名和密码就直接可以查询数据库了。

怎么办呢?

下面讲第二种方法设置derby数据库密码。

方法二:    为某一个数据库设定密码。

前面讲的配置derby.properties文件是为derby数据库配置系统设置。也就是在数据库所在目录下,如果还存在其他数据库,他们也将会用derby.properties设置的用户名和密码来登录。如果在非derby.properties所在目录下运行ij,derby.properties将不再生效,ij将使用derby默认的embed模式的配置,也就是不需要用户名和密码即可查询数据库。

这不是我想要的(为什么要这样设计呢?我百思不得其解,如果是这样,别人只要知道你数据库的路径,然后在其他路径下用ij就可以随便改你的数据库了)。我希望,不管在哪里运行ij,都必须使用我设置好的用户名和密码来查询数据库。

请用ij连到数据库,然后运行以下语句:

CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(‘derby.authentication.provider’,
‘BUILTIN’);
CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(‘derby.connection.requireAuthentication’,
‘true’);
CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(‘derby.user.username’,
‘password’); ————这里username和password改成你的就可以了,下次登录时则要输入这里设置的。
CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(‘derby.database.fullAccessUsers’,
‘username’); ————这个username和前面那个一样
CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(‘derby.database.defaultConnectionMode’,
‘noAccess’);

退出ij,再运行:

这下不输入用户名和密码访问不了了吧。那么输入试试:

大功告成!不管你将数据库放到哪里,也不管你在哪里运行ij,都必须用用户名和密码来查询了。

如果要密码:还是运行上面的语句,把密码改成新的,再次运行数据库的时候就会要求输入新密码。

删密码,也就是改回不用用户名和密码登录:
只运行这一句:

CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(‘derby.connection.requireAuthentication’,
‘false’);

全部操作可在cmd内运用ij工具完成。用这种方法,可以不用derby.propertites文件了。但是必须牢记用户名和密码。

转自:http://www.joyzhong.com/archives/643

Derby设置密码教程的更多相关文章

  1. Excel表格如何设置密码 Excel2003/2007/2010设置密码教程

    http://www.wordlm.com/special/2/ 经常使用Excel表格制作报表和一些数据后,我们会给Excel表格设置密码,这样可以很有效的防止数据被盗取.目前Office版本众多, ...

  2. 在虚拟机中安装红旗桌面7.0 Linux操作系统的详细图文教程

    本文作者:souvc 本文出处:http://www.cnblogs.com/liuhongfeng/p/5343087.html 以下是详细的内容: 一.安装虚拟机. 安装虚拟机可以参考:在Wind ...

  3. 黄聪:phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

  4. Github.com的Git和TortoiseGit图文教程

    图文介绍Windows系统下使用 Github账户 + msysgit + TortoiseGit 进行文件管理的方法. 安装 安装mysysgit 下载地址:msysgit 安装过程: 0.启动 1 ...

  5. Smokeping安装教程

    Smokeping安装教程 #Smokeping2.6.8安装教程 #2016.3.6 改编v1.0 #Linux运维技术交流 347163978   环境 CentOS release 6.4 (F ...

  6. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  7. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  8. 转:小白编译openwrt固件教程

    原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置.   安装ubuntu, ...

  9. MySQL5.7 Replication主从复制配置教程

    最近配置mysql5.7主从复制的时候碰到了些问题,老老实实按老版本的步骤配置会有错误,后来自己查看了官方文档,才解决了问题,在这里总结一下5.7的配置步骤, 大体步骤跟老版本的还是一样的,只是有一些 ...

随机推荐

  1. drools7 (四、FactHandle 介绍)

    先看代码 Base.java package cn.xiaojf.drools7.base; import org.apache.commons.lang3.StringUtils; import o ...

  2. bash101总结

    看了 bash101 ,做的一些总结吧,都是些常见用法,易错 1. 有空格会显示多行 2.contine 书里太细了,有空补起来

  3. USACO 6.5 Checker Challenge

    Checker Challenge Examine the 6x6 checkerboard below and note that the six checkers are arranged on ...

  4. USACO 4.4 Shuttle Puzzle

    Shuttle PuzzleTraditional The Shuttle Puzzle of size 3 consists of 3 white marbles, 3 black marbles, ...

  5. Django实战(6):对比RoR和Django的模板系统

    scaffold的生成物虽然用处不大,但是给我们带来一些最佳实践.其中就有模板的继承和分区. 如果你深入使用过rails的模板体系,那么恭喜你:你有超强的忍耐力!而且更重要的是,你只需要3分钟就可以理 ...

  6. Python并发编程系列之协程

    1 引言 协程是近几年并发编程的一个热门话题,与Python多进程.多线程相比,协程在很多方面优势明显.本文从协程的定义和意义出发,结合asyncio模块详细讲述协程的使用. 2 协程的意义 2.1 ...

  7. Python并发编程系列之多进程(multiprocessing)

    1 引言 本篇博文主要对Python中并发编程中的多进程相关内容展开详细介绍,Python进程主要在multiprocessing模块中,本博文以multiprocessing种Process类为中心 ...

  8. H5 video标签视频加载存在的问题

    客户发现上传的视频无法播放,然后主管让我解决这个问题,这个页面不是我负责的,我看了代码,发现视频用的h5标签video标签加载视频.我看了没问题,然后 我先用ie浏览器打开,视频加载没问题.然后我给主 ...

  9. Java 中的浮点数取精度方法

    Java 中的浮点数取精度方法 一.内容 一般在Java代码中取一个double类型的浮点数的精度,四舍五入或者直接舍去等的方式,使用了4种方法,推荐使用第一种,我已经封装成工具类了. 二.代码实现 ...

  10. NEUQ OJ 2004:追梦之人 (计数数位dp)

    2004: 追梦之人 描述 题目描述: 为了纪念追梦人,粉丝们创造了一种新的数——“追梦数”.追梦数要满足以下两个条件:1.数字中不能出现“7”2.不能被7整除.比如:777和4396就不是追梦数,而 ...