【问题标题】:SQLite FTP download / upload issueSQLite FTP 下载/上传问题
【发布时间】:2012-10-23 08:14:21
【问题描述】:

在 Linux 服务器上有一堆 SQLite 数据库。 我最近对它们进行了备份。 数据库崩溃的站点,我不得不重新上传所有文件。

现在 SQLite 数据库不再工作了。 服务器运行的是 Linux,我安装了 Windows,但文件只是下载,从未在本地打开。 另外,我确保我在一夜之间从服务器下载它们,因此当时没有人与文件通信。

我读到(现在,在损坏已经完成之后)我必须使用某种 SQLite API 来制作我一开始不知道的备份。

所以我的问题是 - 有没有办法保存这些格式错误的文件?为什么它们首先是畸形的?

Tnx!

编辑: 我可以在数据库文件上查询SELECT * FROM sqlite_master,但没有别的...

【问题讨论】:

  • 那么有什么办法可以修复这些数据库呢?谷歌在搜索“修复 sqlite 数据库”时建议命中率...
  • 好吧,到目前为止还没有,因为我仍在试图弄清楚一个简单的下载如何以及为什么会导致这种情况......但是,我现在正在寻找关于 sqlite 修复的好文章来源
  • 上传/下载文件时是否设置了binary文件传输?
  • 好吧.. 我不知道,我使用的是默认设置的 FileZilla.. 这可能是问题吗?
  • 从命令行 sqlite 执行 .dump 时会看到什么。 Filezilla 的默认模式是自动的,所以你应该在那里很好。如果有任何问题,可能是由于您复制时正在使用的数据库。

标签: php windows linux sqlite


【解决方案1】:

复制 SQLite 文件是完全可以的,只要当前没有人写入它们。

FileZilla 的默认传输模式通常不是二进制,因此很可能这已经损坏了您的数据库文件。

当使用 ASCII 模式进行 FTP 传输时,所有看起来像行尾的字节(在 Unix 中为 10,在 OS X 中为 13,在 Windows 中为 13+10)都将转换为目标系统的行尾样式。 之后,很难或自动确定原始字节是什么,因此出于实际目的,数据库是不可恢复的。

【讨论】:

  • 是的...这正是导致问题的原因...因此将文件从服务器 FTP 到我的硬盘驱动器(用于备份)导致文件格式错误,因为传输不是二进制的,现在有无法保存数据....太好了...
猜你喜欢
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
  • 2013-10-24
  • 1970-01-01
  • 2014-07-09
相关资源
最近更新 更多