当前位置: 首页 > news >正文

doris: Oracle

Apache Doris JDBC Catalog 支持通过标准 JDBC 接口连接 Oracle 数据库。本文档介绍如何配置 Oracle 数据库连接。

使用须知​

要连接到 Oracle 数据库,您需要

  • Oracle 19c, 18c, 12c, 11g 或 10g。

  • Oracle 数据库的 JDBC 驱动程序,您可以从 Maven 仓库下载 Ojdbc8 及以上版本的 Oracle JDBC 驱动程序。

  • Apache Doris 每个 FE 和 BE 节点和 Oracle 服务器之间的网络连接,默认端口为 1521。

连接 Oracle​

CREATE CATALOG oracle PROPERTIES ("type"="jdbc","user"="root","password"="secret","jdbc_url" = "jdbc:oracle:thin:@example.net:1521:orcl","driver_url" = "ojdbc8.jar","driver_class" = "oracle.jdbc.driver.OracleDriver"
)

备注

jdbc_url 定义要传递给 JDBC 驱动程序的连接信息和参数。 使用 Oracle JDBC Thin 驱动程序时,URL 的语法可能会有所不同,具体取决于您的 Oracle 配置。 例如,如果您要连接到 Oracle SID 或 Oracle 服务名称,则连接 URL 会有所不同。 有关更多信息,请参阅 Oracle 数据库 JDBC 驱动程序文档。 以上示例 URL 连接到名为orcl的 Oracle SID。

层级映射​

映射 Oracle 时,Apache Doris 的一个 Database 对应于 Oracle 中的一个 User。而 Apache Doris 的 Database 下的 Table 则对应于 Oracle 中,该 User 下的有权限访问的 Table。即映射关系如下:

Apache DorisOracle
CatalogDatabase
DatabaseUser
TableTable

类型映射​

Oracle 到 Apache Doris 类型映射​

Oracle TypeApache Doris TypeComment
number(p) / number(p,0)TINYINT/SMALLINT/INT/BIGINT/LARGEINTDoris 会根据 p 的大小来选择对应的类型:p < 3 -> TINYINTp < 5 -> SMALLINTp < 10 -> INTp < 19 -> BIGINTp > 19 -> LARGEINT
number(p,s), [ if(s>0 && p>s) ]DECIMAL(p,s)
number(p,s), [ if(s>0 && p < s) ]DECIMAL(s,s)
number(p,s), [ if(s<0) ]TINYINT/SMALLINT/INT/BIGINT/LARGEINTs<0 的情况下,Doris 会将 p 设置为 p+|s|,并进行和 number(p) / number(p,0) 一样的映射
numberDoris 目前不支持未指定 p 和 s 的 oracle 类型
decimalDECIMAL
float/realDOUBLE
DATEDATETIME
TIMESTAMPDATETIME
CHAR/NCHARSTRING
VARCHAR2/NVARCHAR2STRING
LONG/ RAW/ LONG RAW/ INTERVALSTRING
OtherUNSUPPORTED

查询优化​

谓词下推​

  1. 当执行类似于 where dt = '2022-01-01' 这样的查询时,Apache Doris 能够将这些过滤条件下推到外部数据源,从而直接在数据源层面排除不符合条件的数据,减少了不必要的数据获取和传输。这大大提高了查询性能,同时也降低了对外部数据源的负载。

  2. 当变量 enable_ext_func_pred_pushdown 设置为 true,会将 where 之后的函数条件也下推到外部数据源。

    目前支持下推到 Oracle 的函数有:

    Function
    NVL

行数限制​

如果在查询中带有 limit 关键字,Apache Doris 会将 limit 转义为 Oracle 的 rownum 语法,以减少数据传输量。

转义字符​

Apache Doris 会在下发到 Oracle 的查询语句中,自动在字段名与表名上加上转义符:(""),以避免字段名与表名与 Oracle 内部关键字冲突。

相关文章:

doris: Oracle

Apache Doris JDBC Catalog 支持通过标准 JDBC 接口连接 Oracle 数据库。本文档介绍如何配置 Oracle 数据库连接。 使用须知​ 要连接到 Oracle 数据库&#xff0c;您需要 Oracle 19c, 18c, 12c, 11g 或 10g。 Oracle 数据库的 JDBC 驱动程序&#xff0c;您可以从 Maven 仓库…...

Android14 OTA差分包升级报Package is for source build

制作好差分包&#xff0c;使用adb线刷模式验证ota升级&#xff0c;出现E:Package is for source build错误 使用adb方式验证 进入recovery模式 adb reboot recovery稍等一会界面会提示 Now send the package you want to apply to the device with "adb sidelaod <…...

双向选择排序算法

一 概述 双向选择排序(又称鸡尾酒选择排序)是选择排序的优化版本,核心改进在于每轮遍历同时确定未排序部分的最小值和最大值,分别交换到序列两端,从而减少遍历轮数。 二 时间复杂度 时间复杂度为(O(n^2)),但实际比较次数约为标准选择排序的 (1/2)。 三 C++实现代…...

Node.js setImmediate 教程

Node.js setImmediate 教程 简介 setImmediate() 是 Node.js 环境中的一个函数&#xff0c;用于安排一个回调函数在当前事件循环周期结束后立即执行。它提供了一种在当前操作完成后&#xff0c;但在任何 I/O 事件或定时器触发之前执行代码的方法。 基本用法 setImmediate((…...

MyBatis @Param 注解详解:多参数传递与正确使用方式

Param 注解主要用于 MyBatis 进行参数传递时给 SQL 语句中的参数 起别名&#xff0c;通常用于 多参数 方法&#xff0c;使参数在 XML Mapper 文件或注解 SQL 语句中更清晰易用。 1. 基本用法 在 Mapper 接口中使用 Param 来为参数命名&#xff0c;避免 MyBatis 解析时出现参数…...

Spring实战spring-ai运行

目录 1. 配置 2 .搭建项目 3. 查看对应依赖 3.1 OpenAI 依赖 3.2 配置 OpenAI API 密钥 application.properties application.yml 4. openai实战 5. 运行和测试 6. 高级配置 示例&#xff1a;配置模型和参数 解释&#xff1a; 7. 处理异常和错误 示例&#xff1a;…...

STL:C++的超级工具箱(一)

书接上回&#xff0c;内存管理和指针&#xff1a;C的双刃手术刀&#xff08;一&#xff09;-CSDN博客&#xff0c;在上篇我们聊到了什么是内存&#xff0c;堆栈&#xff0c;内存管理和智能指针相关的内容&#xff0c;接下来让我们一起去看看STL是什么吧。 第一步&#xff1a;提…...

leetcode349 两个数组的交集

求两个数组的交集&#xff0c;直白点儿就是【nums2 的元素是否在 nums1 中】。 在一堆数中查找一个数&#xff0c;当然是扔出哈希。碰到这种对目前来说是未知数值大小的情况&#xff0c;我们可以使用集合 set 来解决。 使用数组来做哈希的题目&#xff0c;是因为题目都限制了数…...

快速生成viso流程图图片形式

我们在写详细设计文档的过程中总会不可避免的涉及到时序图或者流程图的绘制&#xff0c;viso这个软件大部分技术人员都会使用&#xff0c;但是想要画的好看&#xff0c;画的科学还是比较难的&#xff0c;现在我总结一套比较好的方法可以生成好看科学的viso图(图片格式)。主要思…...

鸿蒙Android4个脚有脚线

效果 min:number122max:number150Row(){Stack(){// 底Text().border({width:2,color:$r(app.color.yellow)}).height(this.max).aspectRatio(1)// 长Text().backgroundColor($r(app.color.white)).height(this.max).width(this.min)// 宽Text().backgroundColor($r(app.color.w…...

【NetTopologySuite类库】geojson和shp互转,和自定义对象互转

geojson介绍 1. 示例 在visual studio中使用NuGet中安装了三个库&#xff08;.net4.7.2环境&#xff09;&#xff1a; NetTopologySuite 2.5NetTopologySuite.IO.Esri.Shapefile 1.2NetTopologySuite.IO.GeoJSON 4.0 1.1 shp数据转geojson 先创建一个shp文件作为例子&…...

【哇! C++】类和对象(三) - 构造函数和析构函数

目录 一、构造函数 1.1 构造函数的引入 1.2 构造函数的定义和语法 1.2.1 无参构造函数&#xff1a; 1.2.2 带参构造函数 1.3 构造函数的特性 1.4 默认构造函数 二、析构函数 2.1 析构函数的概念 2.2 特性 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中…...

Ubuntu20.04本地配置IsaacLab 4.2.0的G1训练环境(一)

Ubuntu20.04本地配置IsaacLab的G1训练环境&#xff08;一&#xff09; 配置Omniverse环境配置IsaacSim配置IsaacLab 写在前面&#xff0c;如果Ubuntu剩余空间低于60G&#xff0c;则空间不足&#xff0c;除非你不需要资产包。但资产包中却包含了G1模型、Go2模型等机器人模型和代…...

浅谈汽车系统电压优缺点分析

汽车电气系统的电压等级选择直接影响整车性能、能效和兼容性。以下是 12V、24V、48V 系统的简单介绍&#xff0c;包括技术特点、优缺点及典型应用场景。 汽车电气系统的发展随着车辆电子设备的增多和对能效要求的提高&#xff0c;电压等级也在逐步提升&#xff0c;从传统的12V…...

Springboot基础篇(4):自动配置原理

1 自动配置原理剖析 1.1 加载配置类的源码追溯 自动配置的触发入口&#xff1a; SpringBootApplication 组合注解是自动配置的起点&#xff0c;其核心包含 EnableAutoConfiguration&#xff0c;该注解使用AutoConfigurationImportSelector 实现配置类的动态加载。 启动类的注…...

Dify 开源大语言模型应用开发平台使用(一)

文章目录 一、创建锂电池专业知识解答应用1.1 应用初始化二、核心功能模块详解2.1 知识库构建2.2 工作流与节点编排节点类型说明工作流设计示例:锂电池选型咨询2.3 变量管理三、测试与调试3.1 单元测试3.2 压力测试3.3 安全验证四、部署与优化建议4.1 部署配置4.2 持续优化结论…...

机器学习深度学习基本概念:logistic regression和softmax

逻辑回归用来处理二分类问题 softmax用来处理多分类问题&#xff1a;比如llm在generate的时候&#xff0c;每个batch里面的一个样本的一个一次generate就是softmax生成一个大小为vocab_size的向量的概率分布&#xff0c;然后再采样 逻辑回归&#xff08;logistic regression&…...

OpenCV计算摄影学(16)调整图像光照效果函数illuminationChange()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 对选定区域内的梯度场应用适当的非线性变换&#xff0c;然后通过泊松求解器重新积分&#xff0c;可以局部修改图像的表观照明。 cv::illuminati…...

Git - 补充工作中常用的一些命令

Git - 补充工作中常用的一些命令 1 一些场景1.1 场景11.2 场景21.3 场景31.4 场景41.5 场景51.6 场景61.7 场景71.8 场景81.9 场景91.10 场景101.11 场景111.12 场景121.13 场景131.14 场景141.15 场景15 2 git cherry-pick \<commit-hash\> 和 git checkout branch \-\-…...

使用Python的requests库调用API并处理JSON响应的详细步骤

1. 安装request库 pip install requests 2. 发送GET请求 import requests# 定义API地址 url "https://api.example.com/data"# 发送GET请求 response requests.get(url)# 检查HTTP状态码 if response.status_code 200:# 解析JSON响应data response.json()prin…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...