问题标签 [oracle18c]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3385 浏览

oracle - 创建表时是否可以设置 BLOB 大小?

我是 Oracle sql 的新手,但我对 MSSQL 有一些经验。我收到了一个脚本来创建一些表,但是由于 BLOB 列,当我尝试限制大小时遇到​​了几个错误。

我试着问我的同事这件事,但他们也不确定。这基本上是从其他地方抓取的,所以他们不知道如何解决这个问题。

本质上,该表看起来像这样(表和列名称已更改):

运行此程序时,由于美元符号 ($),我收到错误“无效字符”。但是,如果我将数据类型更改为 BLOB(64),则会收到一条错误消息,提示“缺少右括号”。如果我只做“BLOB”,它运行良好。有什么方法可以定义 BLOB 的长度吗?

谢谢

0 投票
1 回答
763 浏览

sql - 在一个查询中,获取姓氏长度、名字长度和按长度分组 - 三列

我是一个菜鸟......并且正在处理家庭作业问题。

有一个包含姓氏、名字的成员表。我想编写一个查询,通过字符串长度聚合 last_name、first_name 的长度。

输出将包含三列 - name_length、count_of_last_names、count_of_first_names。

两个单独的查询:

但是我想编写一个查询来输出上述两个查询所做的事情,因此输出将是三列:Length_of_Name、CntLnameLen、CntFnameLen。

建议?谢谢!

0 投票
1 回答
203 浏览

oracle - 对任何子表行的更新将整个父表锁定在 oracle

我有一个父表 PT 具有以下列 PT_ID、PT1_ID、PT2_ID、PT_COMMENT

另一个子表 CT 有下面的列

CT_ID、PT_ID、PT1_ID、PT2_ID、CT_COMMENT

CT 表中有外键列具有空值的行(表示没有值)

如果我们在 CT 表中更新 CT_COMMENT 超过 320 行,同时在另一个视图中,我们正在尝试更新 PT_COMMENT 列中的一个父表注释,直到子记录更新未完成时才会发生。

这里相同的父表 PT_ID 行没有在子表 CT 中更新,尽管父表卡住了。

谁能帮我弄清楚锁定的原因?

预先感谢

0 投票
1 回答
729 浏览

oracle - 使用 IP 地址访问 Oracle 数据库:网络适配器无法建立连接

我目前正在探索将 Oracle 数据库作为 MS SQL 的可能替代服务器。

不幸的是,我陷入了一个特定的步骤。

  1. 安装 Oracle 18c
  2. 安装 SQL Developer 以连接到数据库
  3. 使用 localhost 作为主机名成功连接到 Oracle db
  4. 更新 listener.ora 和 tnsnames.ora 并将 localhost 替换为实际 ip 地址
  5. 尝试在 SQL Developer 中使用 ip 地址连接得到错误:网络适配器无法建立连接
  6. 更新了 listener.ora 和 tnsnames.ora 并将 ip 地址替换为主机名
  7. 同样的错误

这是安装在 Windows 10 环境中的

注意:SQL Developer 和 Oracle db 安装在同一台服务器上。这是首先测试我是否可以使用 IP 连接

0 投票
0 回答
51 浏览

oracle11g - 如何将 Oracle 11g 本地数据库迁移到 Oracle 18c 云?

据我所知,Oracle 18c 可以作为本地数据库安装。但究竟什么是云数据库?是我们在任何 AWS 类型的云平台上下载并安装 18c,还是 18c 直接提供数据库即服务,我们只需要使用连接字符串连接到数据库?请解释这个外行问题

0 投票
2 回答
39 浏览

sql - 如何为某些员工选择行,但不为其他员工选择行

我有一个 EMP 表,其中包含员工姓名和保险计划选择。员工有多行,因为他们可以每年选择一个新计划。任何字段中都不允许有空值。

如何选择具有 A 或 B 计划的员工的所有行,但没有选择具有 C 计划的任何员工的行?

电磁脉冲表

结果应该是:

换句话说,我想选择任何有计划 A 或 B 的人,但忽略任何曾经有过计划 C 的人的所有行。

0 投票
1 回答
194 浏览

windows-server-2012-r2 - 在 Windows Server 2012 r2 上连接到 Oracle 18c XE 时出现问题

几周前,我在我的 Win10 PC 上安装了 Oracle 18c XE 来测试应用程序。一切检查完毕后,我们在 Windows Server 2012r2 上安装了相同的东西。连接到 SQLPlus 时,我们会收到一条错误消息ORACLE is not available。然后在尝试启动后我们得到Oracle DB XE memory parameters invalid or not specified.

我不确定此值的设置位置或如何解决此问题。这在我的 PC 上运行良好,我没有在服务器上设置数据库的外部经验。任何帮助将不胜感激。谢谢

0 投票
1 回答
347 浏览

oracle - 通过 SQL Server PolyBase 在 Oracle 上创建外部表时出错

我正在尝试使用 SQL Server PolyBase 在 Oracle 上创建一个外部表

一开始我遇到了错误

ORA-28040: 没有匹配的身份验证协议

将以下行添加到 sqlnet.ora 后

SQLNET.ALLOWED_LOGON_VERSION=8

以前的错误消失了,我开始低于错误

[Microsoft][ODBC Oracle 有线协议驱动程序][Oracle]ORA-01017:用户名/密码无效;登录被拒绝

我使用以下凭据创建了数据源

(XE)我可以使用连接到 Oracle 实例,SYSTEM/SYSTEM所以我不知道为什么会出现错误。

我正在使用 SQL Server 2019 CTP-2 和 Oracle 18 Express。

0 投票
3 回答
420 浏览

oracle - 不使用函数将 LONG 格式转换为 DATE

该列HIGH_VALUE具有类似于下面的数据,类型为LONG,并且始终具有相同的长度:

如何在DATE不使用函数的情况下将其转换为类型?

我的总体目标是创建一个结果集,然后可以将其用作其他聚合的内部查询。例如,我希望能够根据将HIGH_VALUE列转换为日期产生的日期来总结一年中的行数。

我对此数据库只有读取权限,因此无法创建函数。我在 StackOverflow 和其他网站上看到过其他解决方案,但它们都需要创建一个函数。

ALL_TAB_PARTITIONS是标准的内置 Oracle 表,因此我不包括表结构。如果这是一个问题,请告诉我,我将创建一个示例表。

下面是一个示例查询和由此查询产生的一行数据。请注意,我无法在此数据库上创建表,因此我还需要一种无需创建临时表即可工作的方法。

0 投票
2 回答
275 浏览

sql - 有没有办法强制 Oracle 在加入访问后评估过滤器?

我想使用强制转换过滤连接的结果。问题是原始字段的一部分不能转换为整数。如果在加入后应用过滤器,那将不是问题。这就是为什么我想知道是否有办法(可能是优化器提示或其他东西)在连接操作之后推送过滤器评估。

这是我为示例构建的查询。我希望它能够工作,但会因“ORA-01722 无效号码”而失败:

ORA-01722 被抛出是因为它应用于“文字”CTE,因此崩溃,因为 'abc' 显然不是数字。我们可以在执行计划中看到这一点:

查询执行计划

为了减少导致我的问题的可能性,我执行了该查询:

效果很好。

那么,有没有办法重写这个查询(虽然我仍然需要这是一个单一的查询)所以它不会尝试转换 'abc' ?

作为参考,我在 Oracle Database 18c Standard Edition 2 Release 18.0.0.0.0 以及 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 上进行了尝试

非常感谢。