问题标签 [data-corruption]

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 投票
1 回答
109 浏览

php - PDO 损坏用于存储文件的 MSSQL 文本字段数据

我使用 PDO MSSQL 驱动程序(非常困难)连接到 MSSQL DB。我刚从 mssql_ 搬来。我在表中有一个字段,它是一个用于存储文件的文本文件。需要时检索该字段并将数据写入磁盘。

使用 mssql_ 驱动程序可以正常工作,但是使用 PDO(纯连接无附加参数)检索数据会以某种方式损坏文件。我知道数据没问题,因为我有其他输出和检查方式,但我需要解决这个 PDO 问题。

我尝试将列绑定为 LOB 无济于事

有什么建议可以解决这个问题吗?

0 投票
1 回答
109 浏览

c++ - 类函数不保存成员值

由于某种原因,该函数不保存对象数组的成员值,除了第一个。我压缩了代码以突出这个问题的本质。

类文件.cpp

类文件.h

调用函数文件.cpp

的不正确输出objectArray[elementID].myX对于特定的总是相同的,elementID但在其他elementIDs 之间是不同的。有时是 0,有时是 8231924021

编辑:这是在顶部写有相关部分的原始代码(如果您发现一些细微差别会导致实际浏览它的时间太长):classFile.hclassFile.cppfunctionCallingFile.cpp

Edit2:看起来类成员的位置在每个对象的内存中移动了 3 个字节,这使得除了第一个对象之外无法读取它们。这是myX地址和objectArray[i].myX地址的比较 - pastebinLink

我可以手动抵消这 3 个字节的移位,但这就像将除臭剂喷洒到劳作中而不是冲洗它。

Edit3:解决问题的方法是改变#include "classFile.h"callFunctionFile.cpp 文件内部的位置。将其作为第一个包含放在顶部后,问题就消失了

0 投票
2 回答
67 浏览

nfs - esXi 将 Raw Lun 映射到 ESXI Ubuntu Guest 创建 MD0 并通过 NFS 导出。馊主意?

所以我知道如何通过

这很好用!我的想法是在 Ubuntu 服务器中创建一个 MD0 并通过 NFS 和 SMB 导出它。NFS 将用于其他内部 ESXI linux 来宾,而 SMB 仅用于 Windows。

这听起来像个坏主意吗?我应该为 NFS 使用的任何特殊导出参数?

目前为了使 NFS 导出到其他本地 esxi 来宾工作,我使用

并安装我使用

我应该注意,esxi 主机/数据存储位于单独的 HD 上,而不是 md0 的一部分,并且数据将大部分是静态的。没有大型数据库或任何东西,有很多媒体。最繁重的 IO 是 ZoneMinder(保存图像并不断比较它们的运动检测套件)

0 投票
0 回答
417 浏览

matlab - fprintf Octave - 数据损坏

我正在尝试将数据写入 .txt 文件。每个文件大约 170MB(写入数据后)。

我正在使用 octave 的 fprintf 函数,使用 '%.8f' 将浮点值写入文件。但是,我注意到一个非常奇怪的错误,因为某些文件中的条目子集已损坏。例如,文件中的其中一行是:

0.43529412,0.}4313725,0.43137255,0.33233533,...

那个“}”应该是“4”。现在 octave 的 fprintf 首先是如何用 '%.8f' 选项写出那个 "}" 的呢?出了什么问题?

另一个例子是,

0.73289\8B987,...

那个“\8B”是怎么到那里的?

我必须处理一个非常大的数据集,总共有 3.6 亿个点。某些文件中的子集行中的此错误已成为一个大问题。是什么导致了这个问题?

此外,这种损坏不是随机发生的。例如,如果一个文件有 110 万行,其中每一行对应于一个表示数据实例的向量,那么问题发生在最多 100 行中,并且这 100 行聚集在一起。例如,这些分布从第 8000 行到第 8150 行,但并非在 100 个损坏的行中,前 50 个位于第 10000 行附近,其余位于第 20000 行。它们总是形成一个集群。

注意:下面的代码是负责提取数据并将其写入文件的代码块。代码中的一些变量,如 K_Cell 已经在较早的时候计算过,并且在数据写入过程中几乎没有任何作用。

注意代码块:

是将数据点写入文件的代码的唯一部分。

较早的代码块,

当当前打开的文件超过 100 万个数据点的限制时,打开一个新文件以将数据写入其中。

此外,请注意

变量不能包含除浮点数/双精度值以外的任何内容,否则八度将引发错误。

0 投票
0 回答
177 浏览

r - 修复导入到 R 时 csv 和 fwf 文件中的错误(损坏的字符)

我正在从曾经存储为磁带的大文件(fwf 和 csv)中导入数据,因此在读写磁带时可能会产生错误。

旧文件采用固定宽度文件 (fwf) 格式 新文件采用 .csv 格式(以“;”作为分隔符)

错误可能是这样的:

对于 fwf 文件:

  • 损坏的字符会横向破坏所有数据序列,从而使所有单元格从那时起与内容不匹配。
  • 缺少行尾字符

对于 csv 文件:

  • 损坏的字符
  • 在其他数字列中损坏的字符或字母
  • 意外的分隔符(导致比预期更多的分隔符(
    列数 - 1)

有没有办法将它导入 R 跳过错误行,但保留错误日志以便之后可以手动检查它们?

还是我应该使用 R 外部的其他工具?在这种情况下,使用哪个工具?

我有大约 100 个非常大的文件(每个 90GB),所以我更喜欢一些基于 data.table::fread 或其他一些快速的解决方案。

0 投票
0 回答
208 浏览

java - Android Java App 中的 StringBuilder() 损坏数据

我在一个 Android 应用程序中有一些代码可以像这样格式化数据。"[x, y, z]".

我们主要使用 java 的 StringBuilder() 类,它的 append 方法如下:

但在某些情况下,我们使用加号运算符进行基本的字符串连接,如下所示:

我们最近遇到了一种情况,我看到“]”字符被翻译成这个"Ԃ3ҡ嶴u)",但仅限于使用 stringbuilder 类的地方。它开始正常工作,但在开始转换此字符后,每次看到该字符并在代码中的多个位置都进行此转换。这导致输出如下所示:"[ x, y, zԂ3ҡ嶴u)";

这是一种极其罕见的情况,因为我只见过这种情况发生了几次,但我希望这里的人可能知道为什么会发生这种情况,以及是否可以采取任何措施来防止这种情况发生。我宁愿不要从我们的项目中删除 stringbuilder 来解决这种罕见的情况。

我们已经在 Android 设备上注意到了这一点,而且它开始的非常突然。(它工作正常,然后突然所有后续的“]”实例都被转换了)

有什么想法或建议可以防止这种情况发生吗?不幸的是,我无权访问报告此数据进行测试的设备。

谢谢!

- - - - - - - - - - - - 编辑 - - - - - - - - - - - -

我再次遇到了同样的事情(也使用 StringBuilder() 类),但这次它将相同的字符"]"转换为"U".

所以输出看起来像这样"[x, y, zU"

看起来它总是与 StringBuilder() 类偶尔出现问题的字符“]”相同。(也许是因为它总是最后一个角色?)

干杯!

- - - - - - - - - - - - 编辑 - - - - - - - - - - - -

显示此行为的一种方法示例:(只有最后一个“]”有问题,字符串的其余部分看起来如预期)

0 投票
3 回答
804 浏览

c - 在 C 中不使用 semapore 的数据同步

我需要在我的代码中进行数据同步。目前,我正在访问中断内部的全局值,以及如果频繁调用中断可能会破坏数据的本地函数。我需要避免这种情况。我没有在我的代码中使用操作系统,所以我不能使用信号量。使用与信号量类似的锁定方法可能会解决我的问题。

任何帮助,将不胜感激

0 投票
0 回答
268 浏览

linux - Linux termios 函数数据损坏,同时读取连续的 0xFF 数据

我为串口 ttyS4 编写了一个程序,它使用了 termios 函数。该程序使用非规范模式。我可以发送十六进制数据,也可以读取十六进制数据。我的问题是当我读取接收到多个 0xFF 字节的数据时,我的串行端口缓冲区以垃圾形式填充了额外的 0xFF 字节。例如我的传输数据是

但实际我收到的数据如下。

额外收到 3 个 0xFF(垃圾)。收到多个字节时会出现此问题0xFF

以下配置用于配置端口。

请任何人建议如何解决此问题。

0 投票
0 回答
75 浏览

mysql - MySQL InnoDB 损坏 - 但数据库已被删除

由于我们已经删除的数据库损坏,启动似乎失败了。

MySQL 没有启动,并且日志显示以下错误(几百):170905 5:46:05 InnoDB:错误:第 1 页日志序列号 87166865838 并且数据库可能已损坏并查看:http://dev。 mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html

按照建议,我们使用 innodb_force_recovery = 2 和 innodb_purge_threads = 0 启动 MySQL,备份数据库,然后删除带有损坏表的数据库。

MySQL 仍然没有启动。错误日志 ASCII/HEX 转储显示已删除数据库中的数据段。

为什么删除的数据库仍然存在问题?感觉就像一个进程仍在挂起,或者某些内容可能没有正确删除。

有任何想法吗?谢谢

在 Ubuntu 14.04 上使用 MySQL 5.5.3

0 投票
2 回答
437 浏览

cassandra - Cassandra 是否能够检测到不经常使用的损坏数据?

有没有像 HDFS 的 Cassandra 的 DataBlockScanner 一样的东西,即。检查不经常读取的损坏数据的自动机制?