`
pavel
  • 浏览: 914730 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

创建索引的时候出现的错误

阅读更多

<OFMsg>251658517"1"1190570570894"603984231"0"1563268982" col_7451" col_7451.JDBC_62119" zjw-se1" BaseException.java"-1"3 com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标: 。ResultSet 大小:266,708,558。JVM 总内存大小:1,074,133,504。"3 com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标: 。ResultSet 大小:266,708,558。JVM 总内存大小:1,074,133,504。

   at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)

   at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PreparedStatementExecutionRequest.executeStatement(Unknown Source)

   at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown Source)

   at com.ibm.es.crawler.db2.jdbc.DB2AbstractCursor.open(Unknown Source)

   at com.ibm.es.crawler.db2.DB2AbstractFetcher.connect(Unknown Source)

   at com.ibm.es.crawler.FetcherAdapter.connect(Unknown Source)

   at com.ibm.es.crawler.archive.ArchiveFileFetcher.connect(Unknown Source)

   at com.ibm.es.crawler.DSThread.doJob(Unknown Source)

   at com.ibm.es.crawler.DSActiveThread.doMainTask(Unknown Source)

   at com.ibm.es.crawler.DSActiveThread.analyzeTask(Unknown Source)

   at com.ibm.es.crawler.DSActiveThread.handleRequest(Unknown Source)

   at com.ibm.es.crawler.DSThread.run(Unknown Source)

   at java.lang.Thread.run(Thread.java:570)

""</OFMsg>

<OFMsg>67113083"1"1190570570894"603984231"0"1563268982" col_7451" col_7451.JDBC_62119" zjw-se1" BaseException.java"-1"3 jdbc:sqlserver://192.168.1.225:1433;DatabaseName=testdb"0 0"3 ""</OFMsg>

<OFMsg>251658517"1"1190570570894"603984231"0"1563268982" col_7451" col_7451.JDBC_62119" zjw-se1" BaseException.java"-3"3 com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标: 。ResultSet 大小:266,708,558。JVM 总内存大小:1,074,133,504。"3 com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标: 。ResultSet 大小:266,708,558。JVM 总内存大小:1,074,133,504。

   at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)

   at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PreparedStatementExecutionRequest.executeStatement(Unknown Source)

   at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)

   at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown Source)

   at com.ibm.es.crawler.db2.jdbc.DB2AbstractCursor.open(Unknown Source)

   at com.ibm.es.crawler.db2.DB2AbstractFetcher.connect(Unknown Source)

   at com.ibm.es.crawler.FetcherAdapter.connect(Unknown Source)

   at com.ibm.es.crawler.archive.ArchiveFileFetcher.connect(Unknown Source)

   at com.ibm.es.crawler.DSThread.doJob(Unknown Source)

   at com.ibm.es.crawler.DSActiveThread.doMainTask(Unknown Source)

   at com.ibm.es.crawler.DSActiveThread.analyzeTask(Unknown Source)

   at com.ibm.es.crawler.DSActiveThread.handleRequest(Unknown Source)

   at com.ibm.es.crawler.DSThread.run(Unknown Source)

   at java.lang.Thread.run(Thread.java:570)

""</OFMsg>

<OFMsg>67113083"1"1190570570894"603984231"0"1563268982" col_7451" col_7451.JDBC_62119" zjw-se1" BaseException.java"-3"3 jdbc:sqlserver://192.168.1.225:1433;DatabaseName=testdb"0 0"3 ""</OFMsg>

<OFMsg>67111889"1"1190570570894"603981768"0"1563268982" col_7451" col_7451.JDBC_62119" zjw-se1" BaseException.java"-1""</OFMsg>

<OFMsg>67111875"1"1190570570894"603984415"0"1563268982" col_7451" col_7451.JDBC_62119" zjw-se1" com.ibm.es.crawler.DSThread.java"0"3 jdbc:sqlserver://192.168.1.225:1433;DatabaseName=testdb"3 dbo.yanjiushi""</OFMsg>

 

 

 

原因:

造成此错误的原因是由于SQLSERVER 提供的JDBC数据源驱动程序,在默认情况下,将结果集一次性全部取到内存中,所以当大结果集的时候,将会耗费大量JVM内存,导致JVM系统内存不足。

 

解决方法:

为了解决这个问题,我们可以采用服务器端游标的方式打开结果集,那么要如何来设置呢?

 

我们可以通过编辑数据源XML文件来实现

1.    找到数据源的XML文件,从日志里可以知道相应的数据源XML文件如

..\master_config\col_7451.JDBC_62119\jdbccrawler.xml

2.    备份文件后,用文本编辑器打开文件,找到如下字符串

<Server Name="jdbc:sqlserver://192.168.1.225:1433;DatabaseName=testdb" ID="s1190270547112" ><DBURL>jdbc:sqlserver://192.168.1.225:1433;DatabaseName=testdb</DBURL>

 

3.    在找到的数据库URL里添加用服务器端游标的方法选项

;selectMethod=cursor

添加选项后,上述字符串变为

<Server Name="jdbc:sqlserver://192.168.1.225:1433;DatabaseName=testdb;selectMethod=cursor" ID="s1190270547112" ><DBURL>jdbc:sqlserver://192.168.1.225:1433;DatabaseName=testdb;selectMethod=cursor</DBURL>

4.    保存文件,停止Crawler,重新启动后,再次爬寻数据源。FFQD4219E错误就不再出现

 

 

注意:此问题只存在于MS SQLSERVER,其它关系型数据库无此问题

分享到:
评论

相关推荐

    MSSQL 大量数据时,建立索引或添加字段后保存更改提示超时的解决方法

    一般我们都喜欢用数据库管理器的UI来对数据表结构进行更改,然后自然而然地点”保存” 按钮进行保存,但数据量比较大的时候,用这招往往会出现”无法创建索引“IX_索引名”。 超时时间已到。在操作完成之前超时时间已过...

    MySQL 主键与索引的联系与区别分析

    关系数据库依赖于主键,它是数据库物理...因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数

    一个简单的java爬虫产品

     在创建索引的时候,需要将网页的URL和网页的内容传到相应的方法中,当然URL和内容是要对应的,也许是经验太少吧,我采取的是通过构建一个JavaBean的方式来传递的,不知道大家有没有更好的方法    2.关于要创建...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:Oracle中需要创建用户一定是要具有dba(数据库管理员)权限的用户才能创建,而且创建的新用户不具备任何权限,连登录都不可以。 用法:create user 新用户名 identified by 密码 例子: 2. 修改密码 说明:...

    oracle Session与lock 解除

    创建索引的时候也会产生3,4级别的锁。 locked_mode为2,3,4不影响DML(insert,delete,update,select)操作, 但DDL(alter,drop等)操作会提示ora-00054错误。 有主外键约束时 update / delete ... ; 可能会产生...

    超级有影响力霸气的Java面试题大全文档

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    Toad 使用快速入门

    在运行出现错误时,存储过程停止到有问题的语句。用户可以使用快捷方式或模板来快速编写PL/SQL,也可以根据需要生成自己的模板。使用Toad可以非常方便地进行编辑工作,可如设置书签、取消注释、格式化SQL语句等等。 ...

    SuperMap Deskpro 2008 5.35 安装文件包

    在新版本中,我们采用了全新的索引机制,可创建多级格网索引,此种索引对数据的更新和并发控制能力强,空间检索准确度高,而且当数据集在进行浏览操作的时候,该索引方式的浏览速度比较快。针对以往用户经常遇到的...

    C++编程思想(第2版 第2卷)

    C++编程思想 第二版 第二卷 中文 本书介绍C++实用的编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍C++的字符串、输入输出流、STL算法、容器和模板的现代用法,包括模板元编程;... 索引

    mysql数据库的基本操作语法

    但是创建table的时候没有任何错误或警告。 Ø 索引 索引是存放在模式(schema)中的一个数据库对象,索引的作用就是提高对表的检索查询速度, 索引是通过快速访问的方法来进行快速定位数据,从而减少了对磁盘的...

    mysql数据库my.cnf配置文件

    # MyISAM设置恢复表之时使用的缓冲区的尺寸,当在REPAIR TABLE或用CREATE INDEX创建索引或ALTER TABLE过程中排序 MyISAM索引分配的缓冲区 myisam_max_sort_file_size = 10G # 如果临时文件会变得超过索引,不要使用...

    SQLServer安全及性能优化

    当用户需要大批量导入数据的时候会突然增加很多日志记录,并且如果数据表上有索引,数据表每增加一条记录就会在索引上增加一条数据从而降低插入的性能。解决方案: 1、大批量导入数据的时候设置数据库的恢复模式为...

    DotNetTextBox所见即所得编辑器控件 v3.3.1

    11) 增加对没有安装VS2005的虚拟主机运行控件出现错误的解决办法。 12) 特别注意,因为此版改动太大,旧版本升级最好完全覆盖以保证控件正常运行! &lt;br&gt;2007/6/29 Version 3.1.7 beta &lt;br&gt;Updates:...

    数据库资料

    SQL编程,实现功能强大的查询掌握创建索引、视图,快速访问数据库 掌握创建存储过程,实现复杂的业务规则理解触发器的原理,实现高级的约束目标了解设计数据库的步骤掌握如何绘制数据库的E-R图理解数据库的规范化-...

    大名鼎鼎SWFUpload- Flash+JS 上传

    当Flash上传文件的时候,由开发人员预定义的Javascript事件会被定时触发以便来更新页面中的UI,同时还提供上传状态和错误信息。 选定的文件的上传和它所在页面、表单是独立的。每个文件都是单独上传的,这就保证了...

    python cookbook(第3版)

    1.12 序列中出现次数最多的元素 1.13 通过某个关键字排序一个字典列表 1.14 排序不支持原生比较的对象 1.15 通过某个字段将记录分组 1.16 过滤序列元素 1.17 从字典中提取子集 1.18 映射名称到序列元素 1.19...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    12.1.1 什么时候使用索引 335 12.1.2 列的选择 337 12.1.3 空值问题 338 12.2 索引结构类型 339 12.2.1 B-树索引 339 12.2.2 位图索引 340 12.2.3 索引组织表 341 12.3 分区索引 343 12.3.1 局部索引 343 ...

    ELK6.2.4搭建

    2.可能出现的错误: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] 1 2 3 vi /etc/security/limits.conf elk soft nofile 819200 elk hard nofile 819200...

Global site tag (gtag.js) - Google Analytics