Преамбула: Переношу информацию из базы MSSQL в базу Битрикса MySQL.. Данная процедура происходит в два этапа:
1. С помощью ODBC сначала закидывается вся информация из базы MSSQL в базу MySQL Битрикса !в другие промежуточные таблицы. Т.е. НЕ в таблицы Битрикса.
2. Далее уже админ Битрикса с помощью «Скрипта для выполнения работы по шагам» который предложил Антон переносит из этих промежуточных таблиц данные в Битрикс.
• Большое спасибо Антону за скрипт – который здесь
Все работает нормально.
Но в одной таблице MSSQL оказались отрицательные ID-ки. Как оказалось в MSSQL такое возможно.
И соответственно уже в промежуточной таблице MySQL часть ID-ков с отрицательным значением.
И вышеупомянутый скрипт не «хочет брать» строки с отрицательными ID-ками в работу. Т.е. все строки в которых нормальные (с положительными значениями) ID-ки обрабатываются как и задумано, а отрицательные он просто не берет из таблицы.
Я понимаю, что это вопрос скорее по PHP но все таки подскажите пжлста как сделать что бы данный «Скрипт для выполнения работы по шагам» так же работал со строками у которых отрицательные ID-ки.
За выборку строк из таблицы отвечает участок кода:
$lastID = intval($_REQUEST["lastid"]);
$table = "b_TABLISA"; // здесь указываем с какой таблицей будем работать.
$rs = $DB->Query("select * from $table where ID>$lastID order by ID asc limit 500;");
while ($ar = $rs->Fetch())
{
/*
* do something !!! т.е. здесь нужно вставить что обрабатывать
*/
$lastID = intval($ar["ID"]);
}
Т.е. как я понимаю, нужно изменить строку:
$lastID = intval($_REQUEST["lastid"]);
но как?
Попробовал:
$lastID = intval(-100000);
Дак скрипт начинает циклить бесконца по первым 500 строкам.
Заранее спасибо.
1. С помощью ODBC сначала закидывается вся информация из базы MSSQL в базу MySQL Битрикса !в другие промежуточные таблицы. Т.е. НЕ в таблицы Битрикса.
2. Далее уже админ Битрикса с помощью «Скрипта для выполнения работы по шагам» который предложил Антон переносит из этих промежуточных таблиц данные в Битрикс.
• Большое спасибо Антону за скрипт – который здесь
Все работает нормально.
Но в одной таблице MSSQL оказались отрицательные ID-ки. Как оказалось в MSSQL такое возможно.
И соответственно уже в промежуточной таблице MySQL часть ID-ков с отрицательным значением.
И вышеупомянутый скрипт не «хочет брать» строки с отрицательными ID-ками в работу. Т.е. все строки в которых нормальные (с положительными значениями) ID-ки обрабатываются как и задумано, а отрицательные он просто не берет из таблицы.
Я понимаю, что это вопрос скорее по PHP но все таки подскажите пжлста как сделать что бы данный «Скрипт для выполнения работы по шагам» так же работал со строками у которых отрицательные ID-ки.
За выборку строк из таблицы отвечает участок кода:
$lastID = intval($_REQUEST["lastid"]);
$table = "b_TABLISA"; // здесь указываем с какой таблицей будем работать.
$rs = $DB->Query("select * from $table where ID>$lastID order by ID asc limit 500;");
while ($ar = $rs->Fetch())
{
/*
* do something !!! т.е. здесь нужно вставить что обрабатывать
*/
$lastID = intval($ar["ID"]);
}
Т.е. как я понимаю, нужно изменить строку:
$lastID = intval($_REQUEST["lastid"]);
но как?
Попробовал:
$lastID = intval(-100000);
Дак скрипт начинает циклить бесконца по первым 500 строкам.
Заранее спасибо.