2017-11-20 53 views
0

phinxからMSSQLへのマイグレーションをいくつか実行しようとしています。サーバーは最大2100のパラメータをサポートしています」はパラメータ番号2101をバインドしようとしました。SQL Serverは最大2100個のパラメータをサポートしています

私は3日間のような解決策を探していましたが、誰にも分かっていますが、どうすれば問題を解決できますか?私のPHPの移行ファイルに関連する問題かもしれない?私のphinx設定について何か?

これは私の移行ファイルの一部です:

$rows = 
    [ 

     [ 
      'COLUMNA' => 111, 
      'COLUMNB' => 101, 
      'COLUMNC' => '-1', 
      'COLUMND' => '', 
      'COLUMNE' => 'ERROR', 
      'COLUMNF' => NULL, 
      'COLUMNG' => 1, 
      'COLUMNH' =>0, 
      'COLUMNI' => 10002, 
      'COLUMNJ' => '2017-11-12 00:00:00.000', 
      'COLUMNK' => -1, 
      'COLUMNM' => -1 
     ], 
     [ 'COLUMNA' => 112, 
      'COLUMNB' => 101, 
      'COLUMNC' => '-1', 
      'COLUMND' => '', 
      'COLUMNE' => 'ERROR', 
      'COLUMNF' => NULL, 
      'COLUMNG' => 1, 
      'COLUMNH' =>0, 
      'COLUMNI' => 10002, 
      'COLUMNJ' => '2017-11-12 00:00:00.000', 
      'COLUMNK' => -1, 
      'COLUMNM' => -1 
     ], 
    ] 

$X = $this->table('MYTABLE'); 
    $X->insert($rows); 
    $X->saveData(); 

どうもありがとう

答えて

0

明らかにあなたはあまりにも多くのパラメータをバインドしようとしている、溶液は〜1000行を言うことができますのバッチで移行を行うことです12000はあなたのデータにしたがって処理されます。

$X = $this->table('MYTABLE'); 
$data = []; 
for ($i = 0; $i < count($rows); i++) 
{ 
    $data[] = $rows[i]; 
    if(i % 1000 === 0) 
    { 
     $X->insert($data); 
     $X->saveData(); 
     $data = []; 
    } 
} 
関連する問題