我目前正尝试将 35MB 的 SQL 文件导入共享主机数据库。
我无法使用任何类型的 SQL 管理工作室工具直接连接到数据库。
我仅被授予访问 myLittleAdmin 的权限 -http://mylittleadmin.com/en/welcome.aspx
当前的问题
我们需要导入 35MB 数据 - 手动将其拆分为 5mb 块,我们仍然无法上传。直接粘贴到文本区域会导致浏览器挂起。
设法将 4mb 的 SQL 文件粘贴到文本区域,但由于超时而无法处理它。
托管公司不提供访问权限http://www.mylittlebackup.com/mlb/en/welcome.aspx
他们也不愿意考虑改变超时时间。
任何建议都很好:)
答案1
我认为您有权上传您自己的 ASP/ASP.net 脚本?
如果是这样,您可以自己编写一个脚本:
- 从另一个位置下载文件
- 每次读取文件的一部分,其中一个“部分”可能是 CREATE TABLE 语句或 INSERT 语句(或者可能是一组 if insert 语句
- 对新数据库运行每一条 SQL
第一步可能需要一点思考,因为那也可能会超时。如果您可以访问另一端的库来解压缩文件,那么压缩文件将是一个好主意。如果做不到这一点,您可以将文件拆分成小块,并让脚本分别提取每个部分,将每个新块附加到它拥有的文件副本中。如果您的问题是脚本超时,那么如果循环在脚本中,这仍然会失败,但您可以有一个客户端循环,请求每个部分都使用同步 xmlhttprequest 完成:
- 浏览器加载一个包含客户端循环的 HTML 页面,该页面开始
- 客户端脚本请求服务器上的脚本获取文件的第 1 部分
- 服务器直到第一部分完成才返回
- 客户端脚本请求服务器上的脚本获取文件的第 1 部分
- 等等...
第二部分和第三部分可能也需要相同类型的客户端循环。
“获取文件”(或“获取文件的部分”)部分将能够从另一个 Web 位置读取文件。当然,如果您可以通过 FTP 或类似方式将大文件直接发送到服务器而不会出现问题(然后脚本可以从本地存储中读取文件),则可以完全跳过此步骤。
但说实话,我可能会寻找一个更适合我需要的主机,而不是编写几个相对复杂的脚本来完成简单的一次性工作。