zoukankan      html  css  js  c++  java
  • Derby设置密码教程

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

    文件内容:

    .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!


    http://www.joyzhong.com/wp-content/gallery/my-life/1.jpg

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

    http://www.joyzhong.com/wp-content/gallery/my-life/2.jpg

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

    http://www.joyzhong.com/wp-content/gallery/my-life/7.jpg

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

    http://www.joyzhong.com/wp-content/gallery/my-life/3.jpg

    看,我现在是在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,再运行:

    http://www.joyzhong.com/wp-content/gallery/my-life/4.jpg

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

    http://www.joyzhong.com/wp-content/gallery/my-life/5.jpg

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

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

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

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

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

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

  • 相关阅读:
    整数拆分问题的四种解法
    通配符匹配算法
    grundland去色
    rgb和lab的转换
    .Net library that makes converting between color spaces and comparing colors easy
    彩色图像灰度化论文
    ps图片黑白调整算法
    分数化小数算法
    计算机安全专有名词
    入侵检测
  • 原文地址:https://www.cnblogs.com/azhqiang/p/3876012.html
Copyright © 2011-2022 走看看