如何使用甲骨文钱包

2023-12-02

我正在尝试将密码存储在 Oracle Wallet 文件中,我将从代码中检索并使用该文件。

我尝试创建一个钱包并在那里保存凭证:-

$ mkstore -wrl <wallet_location> -createCredential sid scott tiger

Oracle Secret Store Tool : Version 12.1.0.2
Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:   
Create credential oracle.security.client.connect_string1

创建过程没有给出任何错误,但是当我尝试列出凭据时,我什么也没有得到。

$ mkstore -wrl -listCredential

Oracle Secret Store Tool : Version 12.1.0.2
Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved

另外,如何使用java检索此密码?


要使用钱包连接 Oracle DB,需要进行以下更改。

  1. 您需要创建一个钱包商店,还需要为钱包选择一个密码,并且在修改钱包时需要使用该密码。

<OracleClientHome>/bin/mkstore -wrl <Where you want to store your wallet> -create

e.g. C:\Oracle_11.2.0\product\client_1\bin\mkstore -wrl C:\Users\sample\app\wallet

  1. 您需要将 TNS 条目添加到tnsnames.ora <OracleClientHome>/network/admin/tnsnames.ora

    钱包连接字符串将使用相同的 TNS 条目名称。

<TNS_Entry_Name> =
  (DESCRIPTION = (ADDRESS =
    (PROTOCOL = TCP)(HOST = <Hostname>)(PORT = <Port_Number>)) 
  (CONNECT_DATA = (SERVER = dedicated)(SERVICE_NAME = <Service_Name>))
  )

e.g.

MY_FAVORITE_SERVER =
  (DESCRIPTION = (ADDRESS =
    (PROTOCOL = TCP)(HOST = myfavoriteserver.net)(PORT = 123)) 
  (CONNECT_DATA = (SERVER = dedicated)(SERVICE_NAME = myfavoriteserver))
  )
  1. 您需要使用凭据为上述 TNS 条目创建钱包条目。您还需要提供您在创建钱包时提供的钱包密码。
<OracleClientHome>/bin/mkstore -wrl <Where you want to store your wallet> -createCredential <TNS_Entry_Name/Wallet_Entry_name> <DB_Username> <DB_Password>

e.g.

C:\Oracle_11.2.0\product\client_1\bin\mkstore -wrl C:\Users\sample\app\wallet -createCredential MY_FAVORITE_SERVER john password123
  1. 您需要添加sqlnet.ora文件以将钱包位置和钱包覆盖标志更新为 true。
WALLET_LOCATION = 
  (SOURCE = (METHOD = FILE)
    (METHOD_DATA = (DIRECTORY = <Where you want to store your wallet>))
  )

SQLNET.WALLET_OVERRIDE = TRUE

e.g.

WALLET_LOCATION = 
  (SOURCE = (METHOD = FILE)
    (METHOD_DATA = (DIRECTORY = C:\Users\sample\app\wallet))
  )

SQLNET.WALLET_OVERRIDE = TRUE
  1. 使用钱包和Oracle客户端测试数据库连接,以确保钱包配置正确。
<OracleClientHome>/bin/sqlplus /nolog
SQL> connect <DB_Username>/<DB_Password>@<TNS_Entry_Name>
SQL> connect /@<TNS_Entry_Name>

e.g.

SQL> connect john/password123@MY_FAVORITE_SERVER
SQL> connect /@MY_FAVORITE_SERVER
  1. 您需要使 Java 应用程序准备好使用钱包并使用以下 JVM 参数运行 Java 程序。
  • 将以下 jar 添加到应用程序类路径:
<OracleClientHome>/jdbc/lib/ojdbc.jar
<OracleClientHome>/jlib/oraclepki.jar
<OracleClientHome>/jlib/osdt_cert.jar
<OracleClientHome>/jlib/osdt_core.jar

e.g.

C:\Oracle_11.2.0\product\client_1\jdbc\lib\ojdbc.jar C:\Oracle_11.2.0\product\client_1\jlib\oraclepki.jar
C:\Oracle_11.2.0\product\client_1\jlib\osdt_cert.jar
C:\Oracle_11.2.0\product\client_1\jlib\osdt_core.jar

更改应用程序配置精简网址以使用钱包:

jdbc:oracle:thin:/@<TNS_Entry_Name/Wallet_Entry_name>

e.g.

jdbc:oracle:thin:/@MY_FAVORITE_SERVER
  • 还要添加以下属性作为 JVM 参数,这有助于库找到 oracle 钱包
-Doracle.net.tns_admin=<OracleClientHome>/network/admin -Doracle.net.wallet_location=<Where you want to store your wallet>

e.g.

-Doracle.net.tns_admin=C:\Oracle_11.2.0\product\client_1\network\admin -Doracle.net.wallet_location=C:\Users\sample\app\wallet

你都准备好了!

  • 要列出钱包中的现有凭据,您可以使用以下命令,但您需要提供创建钱包时提供的钱包密码。
<OracleClientHome>/bin/mkstore -wrl <Where you want to store your wallet> -listCredential

e.g.

C:\Oracle_11.2.0\product\client_1\bin\mkstore -wrl C:\Users\sample\app\wallet -listCredential
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用甲骨文钱包 的相关文章

  • 如何使 cx-oracle 将查询结果绑定到字典而不是元组?

    这是我的代码 我想找到一种方法将查询结果作为字典列表而不是元组列表返回 看起来 cx oracle 通过部分文档讨论 绑定 来支持这一点 虽然我不知道它是如何工作的 def connect dsn cx Oracle makedsn hos
  • 从 Oracle 获取包方法和参数

    我正在寻找 Oracle 查询来获取 Oracle 包 过程的所有参数 我知道有一个视图或表可以提供此功能 但我似乎不记得它是什么 注意 我并不是要从 user objects 获取包列表 而是要获取包 中每个过程的数据类型和参数名称 Th
  • 水晶报表参数选择有限制吗?

    我正在尝试根据按用户分组的 Oracle 数据库制作 Crystal Reports 11 报告 我有超过一千个用户 我想创建一个参数字段 提示用户选择他们想要查看其结果的用户 但是我的参数选择字段仅显示 221 个可能的用户 由于 SQL
  • SQL Fiddle 输出错误

    其实我对 PL SQL 还很陌生 我在 SQL Fiddle 中使用 oracle pl sql 创建了下表 create table Employee name varchar2 100 id integer salary integer
  • Oracle Developer Tools for Visual Studio 2019 无法正确安装

    在 VS 2019 中 ODT 使用扩展名安装 而不是像以前的版本那样作为安装文件安装 因此 从 VS 2017 升级的 EF 6 使用的 MVC 项目 edmx 文件在扩展安装后不显示数据库图表 空白黑页 编辑 xml 选项等 仅此而已
  • DBMS_SCHEDULER.DROP_JOB 仅当存在时

    我有一个 sql 脚本 在导入转储后必须运行该脚本 该脚本除了执行其他操作外 还执行以下操作 BEGIN remove program SYS DBMS SCHEDULER DROP PROGRAM program name gt STAT
  • oracle to_date 转换显示文字与字符串格式不匹配

    如果我使用 unixtime 转换器 我会得到 2005 年 5 月 31 日星期二 16 23 17 GMT 1117556597 如果我运行以下查询 则会收到错误 文字与字符串格式不匹配 这是为什么 select to date 111
  • Oracle PL/SQL 将行类型作为构造函数参数传递

    是否可以将 table rowtype 作为构造函数中的参数传递 我有这样的东西 这有效 CREATE OR REPLACE TYPE shape AS OBJECT name VARCHAR2 30 area NUMBER CONSTRU
  • 从 C# 使用 Odbc 调用 Oracle 包函数

    我在 Oracle 包中定义了一个函数 CREATE OR REPLACE PACKAGE BODY TESTUSER TESTPKG as FUNCTION testfunc n IN NUMBER RETURN NUMBER as be
  • 如何找到 Oracle 数据库的 URL?

    如何找到 Oracle 数据库的 URL 和端口 Example jdbc oracle thin host port dbName 用户名 密码 是否有我可以查看的 SQL 命令或日志 配置文件 对于甲骨文来说 有一个tnsnames o
  • 如何登录Oracle数据库?

    我对 Oracle 数据库中常用的日志记录方法感兴趣 我们的方法如下 我们为要记录的表创建一个日志表 日志表包含原始表的所有列以及一些特殊字段 包括时间戳 修改类型 插入 更新 删除 修改者的 id 原始表上的触发器为每次插入和删除创建一个
  • Oracle:如何查找模式中上次更新(任何表)的时间戳?

    有一个Oracle数据库模式 数据很小 但仍然有10 15个表左右 它包含一种配置 路由表 有一个应用程序必须不时轮询此架构 不得使用通知 如果架构中没有数据更新 应用程序应使用其当前的内存版本 如果任何表有任何更新 应用程序应将所有表重新
  • Power BI 中的区分大小写

    我想知道是否可以在 Power BI 中配置区分大小写 我在 Oracle 数据库中有数据 其中主键EXample不同于exampLE 但如果我想将其导入到Power BI中 就不行了 任何想法 目前 我认为最好的选择是在查询编辑器阶段为主
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • UUID最大字符长度

    我们使用 UUID 作为 Oracle DB 的主键 并尝试确定 VARCHAR 的适当最大字符长度 显然这是 36 个字符 但我们注意到生成的 UUID 比这个长 长度最多为 60 个字符 有谁知道 UUID 的合适最大字符长度 RFC4
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 尝试使用 sql 获取单行结果? [复制]

    这个问题在这里已经有答案了 我正在尝试显示所有员工 ID 我需要这样的结果 emp id 10 11 12 13 14 15 当尝试时 SELECT LISTAGG emp id WITHIN GROUP ORDER BY emp id A
  • PLSQL 中的时区转换

    我需要将系统日期和时间转换为特定时区 例如东部时间 我无法假设我当前的时区 如何在plsql中转换它 请帮我 假设你有一个TIMESTAMP WITH TIME ZONE 例如systimestamp 您可以使用AT TIME ZONE句法
  • 为什么这个 oracle 批量插入不起作用?

    我正在尝试将一些数据批量插入到 oracle 数据库中 我按照文档中的示例进行操作 this DataBaseAccess new OracleConnection connString var dataAdapter new Oracle
  • 查看oracle有关主/外键约束的元数据

    哪个表包含有关约束的详细信息 例如外键引用的表 表 all cons columns all constraints 仅包含约束的名称 这不是很有帮助 我目前正在使用 dbms metadata get ddl 但它不适用于所有数据库 Th

随机推荐

  • Bootstrap 日期选择器禁用没有当前日期的过去日期

    我想禁用当前日期之前的所有过去日期 而不是当前日期 我正在尝试通过引导日期选择器库 引导日期选择器 并使用以下代码 date datepicker startDate new Date 效果很好 但直到今天它才被禁用 例如 如果今天是 20
  • Python ctypes 指向结构的指针作为标识符,无需成员访问

    我有两个不同的 C 函数 我想将它们与 Python 中的 ctypes 一起使用 一个函数正在建立连接并返回指向结构的指针 该指针应用作第二个函数中的参数以重用已建立的连接 C Code customStruct connect cust
  • pandas.qcut 和 pandas.cut 有什么区别?

    文档说 http pandas pydata org pandas docs dev basics html 可以使用 cut 基于值的 bin 和 qcut 基于样本分位数的 bin 函数对连续值进行离散化 对我来说听起来很抽象 我可以看
  • 被 FileNotFound 异常难住了

    我想做的就是从文本文件导入数据 该文件位于 C temp text txt 但是 我不断收到文件未找到错误 我到底做错了什么 public static void main String args throws IOException St
  • 当应用程序是服务时,SetWinEventHook 回调不起作用

    我有一个在 NET 4 0 中制作的应用程序 它挂钩 win 事件并使用回调来捕获窗口事件 如下所示 import the methos from the dll DllImport user32 dll SetLastError true
  • 如何使用android的seekbar来显示时间选择?

    I have tried seekbar normal task to display the time from 1 to 12 but I have little different requirement 请有人可以帮助我获得像这样的
  • 无法从 .winmd 文件获取类型

    我想在给定路径的 winmd 文件中输出类型 我将 winmd 文件从 Windows 8 Developer Preview 计算机复制到我的开发计算机 我编写了一个小型测试应用程序 使用 C NET 4 0 而不是 4 5 它尝试在运行
  • MSGestureHold 被 Windows Phone 8.1 的 WebBrowser 控件忽略

    我正在更新我的浏览器应用程序以支持 Windows Phone 8 1 我注意到MSGestureHold事件没有被引发 要重现此错误 下载MS 迷你浏览器示例 在Visual Studio 2013中将项目升级为WP8 1项目并添加IsS
  • C语言中的随机数生成器是如何工作的?

    我正在尝试生成 0 到 40 含 之间的随机数 所以我实现的代码是这样的 y rand 41 然而 每次我单击 编译 并单击 运行 它输出相同的随机数 例如 我循环运行了这个 for i 0 i lt 4 i y rand 41 print
  • StringIO 和 BytesIO 有什么区别?

    StringIO 和 ByteIO 有什么区别 您会将每一种用例用于哪些类型的用例 正如名字所说 StringIO与str数据 同时BytesIO与bytes data bytes是原始数据 例如65 同时str解释此数据 例如使用 ASC
  • 将 SimpleCursorAdapter 与 Spinner 一起使用?

    我有一个数据库 其中表 mytable 有 2 列 id sampletext 我想查询示例文本的不同值并使用 SimpleCursorAdapter 提供给 Spinner 这是尝试过的 String cols new String sa
  • 找不到 SQL Server 配置管理器

    安装SQL Server 2008后 我找不到SQL Server Configuration Manager in Start SQL Server 2008 Configuration Tools menu 我应该做什么来安装这个工具
  • 不可为空类型 'System.DateTime' ,ASP.NET MVC

    我有一个注册页面 由于内容问题 我们必须要求并强制申请人提供出生日期 所以按理说这个字段不能为空 我使用 jQuery 在文本框上加水印 告诉他们可以单击它并获取 jQuery UI 日历对象来选择日期 选择日期效果很好 这不是问题 在测试
  • 重写 App.xaml.cs 中的方法值

    我正在开发 Windows 8 Phone 应用程序 我这里有两件事 一个是库项目 另一个是普通应用程序 让我首先解释一下我的代码 在图书馆项目中 class A public static string empName ABC publi
  • 如何从 .ipa 文件获取源代码? [复制]

    这个问题在这里已经有答案了 可能的重复 是否可以对我的 iPhone 应用程序进行逆向工程 我正在为客户构建一个应用程序 并希望向他发送我创建的每个构建的 ipa 文件 以便他可以使用该应用程序 然而 在他付钱给我之前 我不希望他能够访问源
  • 如何将SwingWorker的publish委托给其他方法

    我的 问题 可以用以下方式描述 假设我们有一个密集的进程 我们希望在后台运行并让它更新 Swing JProgress 栏 解决方案很简单 import java util List import javax swing JOptionPa
  • 在 Mac OSX 上使用 MAMP 时,如何让 CakePHP Baker 找到 mysql.sock 并识别 MySQL?

    我目前正在阅读 David Golding 的 Beginning CakePHP From Novice to Professional 在某一时刻 我必须使用 CLI 命令 蛋糕烘焙 我会看到欢迎屏幕 但当我尝试烘焙时 例如 控制器我收
  • c++ 11 mersenne_twister_engine 类的问题

    我一直在尝试使用 c 11 mersenne twister engine 类 http www cplusplus com reference random mersenne twister engine 生成区间 0 1 中的数字 但是
  • create-react-app 自版本 4.0.1 起不再工作

    我尝试安装create react app using npm i create react app npx create react app new app and npm init react app new app 但我不断收到此错误
  • 如何使用甲骨文钱包

    我正在尝试将密码存储在 Oracle Wallet 文件中 我将从代码中检索并使用该文件 我尝试创建一个钱包并在那里保存凭证 mkstore wrl