繁体   English   中英

如何从服务器中的FTP位置读取大文件

[英]How to read a large file from FTP location in server

我必须从FTP位置读取较大的(例如20mb)管道分隔文件,并将其存储到DB中。 这样做的最好方法是什么。

一些方法:1.在本地复制文件,然后读取并保存到DB。 2.直接从流中读取并保存到DB中。

请提出一些有效的方法。

我认为选择1会更好,

在选项2的情况下-如果存在某些异常该怎么办-在使用流读取文件时或在将文件写入DB中时使用异常时,您将如何确切地知道它在哪里失败了,

使用选项1,您可以存储文件temp目录,然后将文件写入DB,然后从temp目录中删除或存档。

将文件归档在文件系统上将是更好的选择-它将在以后的参考中使用。

两者都有很多示例-

对于从ftp下载的文件,您可以遵循-http: //www.codejava.net/java-se/networking/ftp/java-ftp-file-download-tutorial-and-example

当它是sql或csv文件时,可以通过ssh尝试。

mysql -u root -p

set global net_buffer_length=1000000; --Set network buffer length to a large byte number

set global max_allowed_packet=1000000000; --Set maximum allowed packet size to a large byte number

SET foreign_key_checks = 0; --Disable foreign key checking to avoid delays,errors and unwanted behaviour

source file.sql --Import your sql dump file

SET foreign_key_checks = 1; --Remember to enable foreign key checks when procedure is complete!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM