Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过internet查询具有大量数据的SQL数据库时可能会出现什么问题_Sql_Sql Server_Solr_Dataimporthandler - Fatal编程技术网

通过internet查询具有大量数据的SQL数据库时可能会出现什么问题

通过internet查询具有大量数据的SQL数据库时可能会出现什么问题,sql,sql-server,solr,dataimporthandler,Sql,Sql Server,Solr,Dataimporthandler,我在一个MSSQL服务器上有一个大型数据库,其中包含由网络爬虫索引的数据。 每天我都想使用位于另一台服务器和另一个网络中的DataImportHandler更新SOLR SearchEngine索引 Solr DataImportHandler使用查询从SQL获取数据。例如,这个查询 SELECT * FROM DB.Table WHERE DateModified > Config.LastUpdateDate ImportHandler执行此类型的8个选择。每个select将从数据库

我在一个MSSQL服务器上有一个大型数据库,其中包含由网络爬虫索引的数据。 每天我都想使用位于另一台服务器和另一个网络中的DataImportHandler更新SOLR SearchEngine索引

Solr DataImportHandler使用查询从SQL获取数据。例如,这个查询

SELECT * FROM DB.Table WHERE DateModified > Config.LastUpdateDate
ImportHandler执行此类型的8个选择。每个select将从数据库中获得大约1000行

要连接到SQL SERVER,我使用com.microsoft.sqlserver.jdbc.SQLServerDriver

我可以为连接添加的参数有:

响应缓冲=自适应/全部 batchSize=整数 所以我的问题是:

每天这样做会出什么问题?网络错误除外 我想知道SQL Server在这种环境下是如何工作的

此外,我还必须决定如何实现此导入以及如何处理错误,但首先我需要知道可能出现的错误

谢谢

后期编辑

我的问题是,我不知道这个SQL查询怎么会失败。当我每天打电话给这个进口商时,它会对数据库进行10次查询。如果第五次查询失败,我必须选择: 回滚整个事务并再次执行,或者提交我从前4个查询中获得的数据,然后以某种方式重新执行查询5到10。但是如果这个查询总是失败,因为其他一些问题,我需要考虑另一种方法来导入这些数据


internet上的sql查询是否会因为超时操作或类似操作而失败?

可能存在权限问题,不确定是否控制这些权限

捕获您可以想到的异常并包含一个catch-all异常exp可能是一个好主意

然后将整个异常视为最坏的情况,并在可以的地方回滚,并记录异常以便稍后包括在内

您也不会说要选择什么类型,请记住,文本/blob可能会占用更多空间,并且如果缓冲任何数据等,可能会在内部引发问题

虽然只是快速重读,如果只是选择,则不需要回滚

我认为你最好考虑一下你希望实现的目标,以及了解所有可能的问题是否会有所帮助


HTH

我在处理此类导入后发现的唯一问题是:

网络问题-如果网络连接失败:在这种情况下,SOLR正在回滚任何更改,而提交没有发生。在我的程序中,我将此标识为错误,并且不将更改记录在数据库中。
感谢@GuidEmpty为我提供了他的帮助并澄清了这一点。

我不明白这个问题,你能提供更多的上下文吗?就目前的情况而言,它与计算机编程时可能出现的问题没有太大区别?我同意毛里西奥的观点,很多问题都可能出现。虽然我会说1000行是非常小的。我会确保你在DataModified字段上有一个索引,而不是使用*写出你只需要的查询列。因此,可以这样做查询,而不会有太大的问题?唯一可能出现的问题是网络错误或超时(如果查询执行时间过长)。这就是全部。