TypeCodes

MySQL5.7中使用GROUP_CONCAT数据被截断的问题

前天在生产环境中遇到一个问题:使用GROUP_CONCAT函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题。后面故意重新INSERT了一个字段长度超1024字节的数据,但是navicat能完整展示出来,所以就排除了navicat的问题。

然后想到1024这个熟悉的数字,会不会是C++框架在接收MySQL通过socket传输过来的数据时被处理了呢?于是手工在日志中打印这个字段,发现即使数据长度超过1024字节仍然是可以完整显示的。

- 阅读剩余部分 -

初始化Oracle数据库的bat批处理脚本和shell脚本

在使用Oracle数据库的时候,经常会用到表结构、存储过程、视图以及表数据等等元素的导入和导出。如果在Windows的cmd窗口中使用sqlplus的命令登录Oracle后,直接使用@ sql导入文件路径或者start sql导入文件路径,就有一个缺陷:不会产生跟踪日志文件,这样就没法了解哪些sql语句执行成功了,哪些sql语句执行失败从而导致整个数据库初始化失败了等情况。另外,无论是在Windows系统还是Linux系统,手输命令很麻烦也很容易出错,所以自己整理了一份适用于Windows的bat批处理脚本和一份适用于Linux系统的shell脚本。

这两份脚本代码比较简单,主要是利用了sqlplus命令将包含多条sql语句用于初始化Oracle数据库的sql文件执行。其中,suntsm/suntsm@127.0.0.1/orcl数据库用户名/用户密码@数据库IP:1521/实例名的组合,当然Oracle默认的端口1521可以省略。另外,tsmstuct.sqltsmdata.sql文件分别用于初始化表结构等数据和表数据。大家可以根据实际情况修改。

- 阅读剩余部分 -

Sybase客户端打开SQL Advantage 12.5.1报错:Internal failure while initializing SQL Advantage(二)

1 打开SQL Advantage报错:Internal failure while initializing SQL Advantage

在sybase官方论坛上找到了两个比较有代表性的提问。二者共同的特点就是之前安装的都是SQL Advantage 11.5.1.3的版本,然后想使用12.5.1的版本(博主只装了12.5.1)。在安装好这两个客户端后,打开SQL Advantage就会报错。根据这两个提问并结合自己的理解,列出解决该问题的参考方法:

- 阅读剩余部分 -

Sybase客户端打开SQL Advantage 12.5.1报错:Internal failure while initializing SQL Advantage(一)

1 打开SQL Advantage报错:Internal failure while initializing SQL Advantage

前几天在用sybase win客户端(OC 12.5.1)的时候,遇到了一个问题。每次打开SQL Advantage 12.5.1后,如果强制关闭窗口(例如有时界面卡死强退),那么再次打开就会报错:

Internal failure while initializing SQL Advantage. 
Please check that Open Client is configured correctly.

正如下图所示,奇怪的是如果这时候重启电脑的话,那么打开SQL Advantage就正常。

sybase客户端打开SQL Advantage 12.5.1报错

- 阅读剩余部分 -

Oracle数据库SQL操作语句报错的解决

最近在小红帽里面用GCCC编译含Oracle数据库SQL操作语句的C程序时候遇到了下面的7个报错信息,现整理出来Mark一下。

1 错误信息
[-1400][ORA-01400: cannot insert NULL into ("CARDMAIN"."CLR_SFTC000BLOCK0"."SE]
<!--
描述:CARDMAIN数据库用户,CLR_SFTC000BLOCK0数据表,SE表字段

原因:Oracle数据库对于特定类型的非空字段无法区分空值和空字符串

解决:明确数据源中的空值类型,并且在INSERT和UPDATE中必须插入一个值,不能将某个值修改为NULL。
-->

- 阅读剩余部分 -

Oracle数据库出现ORA-01034、ORA-27101错误解决

最近在虚拟机中操作Oracle数据库SQL语句时,出现了以下两种报错:

1 ORA-27101: shared memory realm does not exist

具体的错误信息如下:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

- 阅读剩余部分 -

解决Windows中PLSQL连接虚拟机中Oracle缓慢的问题

博主上周末在自己的Windows宿主机中,用PL/SQL连接虚拟机中的oracle数据库时,出现了大概需要等待10多秒的时间才能登录成功的问题。很奇怪的现象,因为我在Windows中ping虚拟机中的oracle服务器IP地址,响应时间都在1ms内。在网上GG了下,没找到答案。后经我搭档指点,原来是Linux系统中的DNS解析在寻址的时候出现“错误”。这个跟我在用桥接模式连接网络的时候,错误配置了“Network Configuration”中的DNS有关(在用Bridged模式联网时,可以不用配置DNS)。

桥接模式错误配置DNS

- 阅读剩余部分 -