我正在使用sql server 2012,我需要运行insert语句的脚本。但文件的大小是2.7 GB。当我打算在sql编辑器中打开文件时,它会向我显示错误SystemOutOfMemory。记事本也无法打开任何建议如何打开它。
答案 0 :(得分:13)
尝试在浏览器中打开文件,然后在编辑器中复制所需的行。这对我有用。
答案 1 :(得分:4)
我遇到了类似的情况,我不得不编辑一个1.5GB的sql文件。
EmEditor完成了这项工作。尝试过许多编辑没有任何工作,全部崩溃或没有响应(在Windows上)。
对于一次或短时间,您可以将其用作试用期。对于更长/永久的使用,将不得不购买溢价。
以下是下载相同内容的链接。
答案 2 :(得分:3)
我今天遇到了与兆字节sql文件相同的问题所以写了一个命令行实用程序将它们分成更小的文件来处理。
splitfile.exe -file "largefile.sql" -batch 5000
http://www.esensible.com/our-products/utilities/splitfile-split-large-text-files/
源代码也在那里(Visual Studio 2015)
答案 3 :(得分:3)
首先你做错了什么。描述你获得2.7GB文件的方式和原因。很可能有一个替代解决方案来解决你的问题。
您可以使用命令行实用程序sqlcmd.exe执行此大小的文件。 MSDN sqlcmd utility
sqlcmd.exe -S servername -U login -P password -d databasename -i BigBigFile.sql -o out.txt
但是它会非常非常缓慢,因为插入将是一行一行
此外,我认为没有理由在编辑器中打开这么大的文件。但是如果你想 - 我打开文件> 3Gb文件管理器FarManager3.0 x64的内部编辑器(我的配置Win7 x64,8Gb ram,i7-3770)。它也很慢
也许我们应该寻找其他数据传输选项:
答案 4 :(得分:1)
SQL编辑器可以打开一个高达500 MB的文件而没有非常好的规格,这似乎有些不对劲,如果你想将数据从一个数据库插入另一个数据库,尝试使用导入/导出向导,SSIS包或命令行实用程序创建表的脚本然后插入不是一个好方法。
答案 5 :(得分:1)
我有一个类似的问题,一个6GB的.sql转储,一个大学通过我。仍然想知道他是如何做到的。
我可以使用vi / vim在Linux中通过终端打开文件。
为什么不尝试创建具有centos或其他风格的虚拟机,在那里传递文件(通过ssh并使用filezilla)并在那里打开它?安装服务器版本,不带GUI。
我打赌你能在那里打开它。否则,需要进行拆分。
答案 6 :(得分:1)
010 Editor可以处理任何大小的文件。我只是用它来编辑一个3GB的文件,Chrome,TextPad和其他一切都崩溃了。
答案 7 :(得分:1)
我有8 GB的sql文件,而我尝试的每个文本编辑器或sql服务器都崩溃了或根本不允许打开。
我正在尝试在计算机上使用其他程序,pycharm毫不费力地打开了它,直到它崩溃了一次。
答案 8 :(得分:1)
我在 IntelliJ IDEA 编辑器中打开了5.14G sql文件。加载甚至不需要30秒。
答案 9 :(得分:0)
Sublime Text在Mac上对我来说非常有效。我尝试了很多,PHPstorm效果很好,但仅在只读模式下。 Sublime Text实际上会打开要编辑的完整文件,但需要一段时间才能加载。加载时有一个进度条。
答案 10 :(得分:0)
使用大型文件编辑器(例如超级编辑)是一种简单的编辑解决方案,然后使用SQLCMD实用程序从CMD运行它。
答案 11 :(得分:0)
https://www.emeditor.com/#download
为我轻松打开4GB文件
答案 12 :(得分:0)
我遇到了同样的问题,但是我解决了。
我有一个5 GB的.sql文件。在该文件中,由于语法错误,我不得不进行编辑。我尝试了几种编辑器,但没有用。
然后,我尝试使用 Visual Studio代码编辑器。而且有效。
答案 13 :(得分:0)
对于跨平台应用程序,我发现VSCode实际上是最好的。如果它注意到它是一个大文件,它将自动禁用语法查找和所有不错的功能,但至少会进行基本的搜索和替换等操作。我定期将其用于WordPress大小约为1-3GB的文件,因为有时在更改开发/登台站点等的域名时,固定链接不会更新。
如果您碰巧在Windows上安装了Linux或Git Bash,那么您将可以访问vim,这是我建议使用的4GB以上版本的文件。我不得不手动修改6GB + MySQL文件中的行,并且工作正常。您会认为它不起作用,因为从磁盘读入RAM可能需要一分钟左右的时间,但是会做到的。您需要提高保存次数的效率,因为它会将完整的6GB写入磁盘,并且导航也需要使用搜索,行号等,但是它可以工作。
答案 14 :(得分:0)
您始终可以使用命令行实用程序。
打开cmd并输入:
SQLCMD -S serverName -d databaseName -i yourfile.sql -U username -P password
我刚刚成功运行了8GB插入量的7gb文件。
答案 15 :(得分:0)
为什么不简单地将文件导入SQL Server并在企业管理器中查看?你可以直接导入它,或者使用PowerShell,但后者可能会在一夜之间运行(对于小文件来说更容易,尤其是很多文件)。一旦它在那里,你可以轻松地做任何你想做的事情,文件大小将没有问题。
答案 16 :(得分:0)
gVim应用程序可以打开大型mysql转储文件。