问题描述
我试图通过使用Yii2从sql Server中提取数据来将数据传输到MysqL数据库。该过程成功,但是我收到了错误日志。
代码:
$query = (new Query())
->from("tablename");
foreach ($query->batch(10000,Yii::$app->sqlsrv) as $data) {
$MysqLDb->createCommand()
->batchInsert('my_table',array_keys($data[0]),$data,['each' => true])
->execute();
}
错误日志:
2020-08-27 11:05:43 [错误] [PDOException] PDOException: sqlSTATE [imsSP]:活动结果集中没有更多行。 由于此结果集不可滚动,因此可能没有更多数据 检索。在 /var/www/portal/vendor/yiisoft/yii2/db/DataReader.PHP:112 堆栈跟踪: #0 /var/www/portal/vendor/yiisoft/yii2/db/DataReader.PHP(112): PDOStatement-> fetch() #1 /var/www/portal/vendor/yiisoft/yii2/db/BatchQueryResult.PHP(143): yii \ db \ DataReader-> read() #2 /var/www/portal/vendor/yiisoft/yii2/db/BatchQueryResult.PHP(112): yii \ db \ BatchQueryResult-> fetchData() #3 /var/www/portal/modules/axapta/commands/DefaultController.PHP(122): yii \ db \ BatchQueryResult-> next() #4 [内部功能]: app \ modules \ axapta \ commands \ DefaultController-> actionItemsstock() #5 /var/www/portal/vendor/yiisoft/yii2/base/InlineAction.PHP(57): call_user_func_array(Array,Array) #6 /var/www/portal/vendor/yiisoft/yii2/base/Controller.PHP(157): yii \ base \ InlineAction-> runWithParams(Array) #7 /var/www/portal/vendor/yiisoft/yii2/console/Controller.PHP(148): yii \ base \ Controller-> runAction('items-stock',数组) #8 /var/www/portal/vendor/yiisoft/yii2/base/Module.PHP(528): yii \ console \ Controller-> runAction('items-stock',Array) #9 /var/www/portal/vendor/yiisoft/yii2/console/Application.PHP(180): yii \ base \ Module-> runAction('axapta / items-st ...',数组) #10 /var/www/portal/vendor/yiisoft/yii2/console/Application.PHP(147): yii \ console \ Application-> runAction('axapta / items-st ...',数组) #11 /var/www/portal/vendor/yiisoft/yii2/base/Application.PHP(386): yii \ console \ Application-> handleRequest(Object(yii \ console \ Request)) #12 / var / www / portal / yii(22):yii \ base \ Application-> run() #13 {main} 2020-08-27 11:03:07 [info] [应用] $ _GET = []
$_POST = [] $_FILES = [] $_COOKIE = []
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)