[英]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.