标签 数据库 下的文章
- 首页
- 数据库
Oracle 中 in 超过 1000 个参数报错解决方案
背景说明多数数据库如 Oracle、MySQL 等在执行 SQL 语句时都会有 1000 个参数的限制,超过 1000 个参数将无法执行,开发过程中经常会使用 where id in (:ids) 这样的语句来批量查询数据,如果 ids 集合超过 1000 个程序将会报错,本文提供了此问题的解决方案。解决方案此问题的解决方式有多种,如分批查询、union、临时表等,这里介绍使用临时表和分批查...
Oracle:数据库链接 Database Link
1、建立数据库链接在 Oracle 数据库中,要在两台数据库之间建立连接,你可以使用数据库链接(Database Link)。这允许你在一个数据库中访问另一个数据库的对象,如表或视图。以下是简单的步骤:1.在目标数据库上创建数据库链接:在目标数据库中执行以下SQL语句,以创建一个数据库链接。这需要目标数据库的连接信息。CREATE DATABASE LINK link_name CO...
IDEA:连接数据库无法下载 Oracle 驱动的解决方案
问题描述使用 IDEA 连接 Oracle 数据库时,初次需要下载驱动,由于网络原因很可能无法下载。解决方案单独下载驱动 Jar 包或者从其它已下载过的电脑上拷贝过来放到自定义目录中,然后通过下面方法设置。Oracle JDBC 驱动下载地址:ojdbc11-21.5.0.0.jar如下图:无法下载的可以删除也可以不管,直接添加[自定义 JAR...]其它说明IDEA 的数据库驱动目录:C:...
Oracle:Navicat 连接报错 ORA-28547:connection to server failed
问题描述:Navicat 无法连接 Oracle 19c,报错如下:ORA-28547:connection to server failed, probable Oracle Net admin error解决方案Navicat 客户端 oci.dll 版本和 ORACLE 服务器版本不一致。Navicat 15.x 默认集成了 11.2 的版本,下载新版的 Instant Client ...
Oracle:关于 CDB 和 PDB 容器数据库
Oracle 12c 开始有了CDB和PDBCDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在O...
MyBatis、JPA、Hibernate 全球流行趋势(2022.03)
数据来自 Google 趋势(2022-03-24),从数据可看出 MyBatis 和 JPA/Hibernate 明显的区别是:国内用户以 MyBatis 居多(估计主要使用 MyBatis-Plus)国外用户以 JPA/Hibernate 居多国内趋势全球趋势
MySQL:5.7、8.0 日期时间支持 0000-00-00 格式
MySQL 5.7 之前的数据库的 date、timestamp 等时间类型默认为 0000-00-00。升级到 MySQL 5.7 后这样的日期格式默认不支持会报错。解决方案1不要再使用 0000-00-00 这样的日期。解决方案2如果还想用 0000-00-00 这样的格式,那么需要修改 SQL_ModeMySQL 5.7 默认的 sql mode 如下:ONLY_FULL_GROUP_...
MySQL:批量修改表的排序规则
MySQL 8.0 默认的排序规则为 utf8mb4_0900_ai_ci,使用脚本还原的表的排序规则可能是 utf8mb4_general_ci,之后又自己在库中建的表是 utf8mb4_0900_ai_ci,于是库中存在这两种排序规则,在做关联查询时就会报错。解决方案将库中所有表的排序规则改为一致,此处演示将 utf8mb4_0900_ai_ci 批量改为 utf8mb4_general...
JDBC 连接各种数据库的 url 写法
MySQL 配置示例:driver_class:com.mysql.cj.jdbc.Driver url:jdbc:mysql://IP地址:端口号/数据库名?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTCORACLE 配置示例:driver_class:oracle.jd...
Typecho:修改数据库支持 emoji 表情字符
关于 EmojiEmoji 表情随着 IOS 的普及和微信的支持越来越常见,比如这些比较常见的表情:⭐️ ✨ ⚡️。所谓Emoji就是一种在 Unicode 位于\u1F601-\u1F64F 区段的字符。这个显然超过了目前常用的UTF-8字符集的编码范围u0000-uFFFF。在 MySQL 中,UTF-8 只支持最多 3 个字节,而 emoji 是 4 个字节。Typecho 支持 em...
SQL Server:删除没有ID主键的重复记录
SQL Server 删除完全相同的重复记录,只保留一行记录,并且这些记录没有 id 主键,网上大多教程都是在有 id 主键的情况下删除的,此文方法适用于删除没有id主键的重复记录。删除重复数据SQL语句测试数据codename010102020101with t1 as(select *,row_number() over (partition by name,code order by ...
C# 连接 MySQL 报错:Unable to connect to any of the specified MySQL hosts
问题描述C# 使用 MySQL.Data.dll 连接 MySQL 数据库,报错如下:异常信息Unable to connect to any of the specified MySQL hosts. 内部异常:序列包含一个以上的匹配元素 测试环境:win10 1909Mysql.Data.dll 8.0.18.Net Framework 4.7两个现象:1、奇怪的是微酷家里电脑报错,同...
Mariadb:开启远程访问
修改监听端口:新版的 mariaDB 已将配置文件拆分,此时 my.cnf 文件里面显示如下!includedir /etc/mysqql/conf.d/ !includedir /etc/mysql/mariadb.conf.d/这两句话的意思是配置文件包含了上面两个文件夹所有的文件。编辑配置文件:vim /etc/mysql/mariadb.conf.d/50-server.cnf注释掉...
MySQL:Navicat 执行 SQL 查询数据库卡顿
问题描述Navicat 连接阿里云 RDS Mysql 数据库,第一次查询挺快,过一会再执行 SQL 会卡顿 20s 左右才出结果,同时发现在同一个查询界面创建的临时表,在过一段时间再执行相同的创建临时表语句会卡顿并且临时表创建成功了(按理应该提示表已存在),说明之前的临时表丢了。网上资料Mysql 服务器端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。Navicat 客户端...
SQL Server 高版本数据库还原到低版本的方法
高版本的 MSSQL 数据库备份文件 .bak 还原到低版本数据库是会报错的,无法执行。如 SQL 2016 的数据库还原到 SQL 2012 是不可以直接还原或附加的。解决方案如果需要将高版本的 MSSQL 数据库还原到低版本的服务器上需要通过生成脚本的方式实现。1、在高版本的数据库上右键-任务—生成脚本,选择要导出的全部表、存储过程。2、重点:点击高级选项,选择目标数据库版本和编写脚本数...