Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Длинна результата возвращаемого через ODBC, возврат -- 308 символов 
:(
    Опции темы
02077461
Дата 16.4.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 13.7.2005

Репутация: нет
Всего: 0



Работаю с Access через ODBC на PHP. Надо перенести данные в mysql базу. придумал делать так: Генерировать PHP код с mysql_query запросами в файл.inc и затем инклудить его в исполняемый скрипт. Запрос 
Код

select LCase([поле 1]) as `code`, ''''&[поле 2]&''', '''&[поле 3]&''', '''&поле5'''' as `values` FROM [Табличка в 8000 записей]
 возвращает набор данных типа 
Код

'1', 'asdf', 'asd', '123'
 я это дело вставляю в шаблон
Код
 $inser_tpl = "\tmysql_query(\"".str_replace("\"", "\\\"", "insert into `tname` VALUES (".$id.", ".$odbc_ass["values"]).")\");\n";
// где $odbc_ass["values"] = '1', 'asdf', 'asd', '123'
, получаю PHP код, который записываю в файл, затем делаю include и таким образом переношу данные.
И вот в одном файле оказалась интересная запись. 
Код

    mysql_query("insert into `tname` VALUES (2424, 'Запись', 'Еще одна запись', '', '', '0', '0', 'Текст, много текста

Очень много текста, я столько текста не хотел получать

И еще немного текста, потом непонятный значек и... );


Общая длинна результата получаемого из запроса -- 250 символов. А в этой записи одно поле значительно длиннее этих пресловутых 250-ти байт. Как обойти данное ограничение?
Заранее благодарю.

PM   Вверх
Akina
Дата 16.4.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Я не понял, на чьей стороне проблема? Access? ODBC? PHP?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
02077461
Дата 17.4.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 13.7.2005

Репутация: нет
Всего: 0



Вот и я не понял, однако результат удручающий.
Я пологаю, что это проблема Access при работе через ODBC, хотя может быть и не так.
Как бы там ни было, но факт остается -- результат -- 250 символов.
PM   Вверх
Akina
Дата 17.4.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Блин! да я вообще не понял ничего в том что ты наговорил!!!

Набор данных возвращается правильный??? тот, который 
Цитата(02077461 @  16.4.2007,  18:48 Найти цитируемый пост)
набор данных типа 
Код

'1', 'asdf', 'asd', '123'




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
02077461
Дата 18.4.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 13.7.2005

Репутация: нет
Всего: 0



Прошу прощения, если выразился недостаточно четко.
Если длинна возвращаемого результата превышает 250 символов (число 308 в теме было ошибочным), то результат обрезается до 250, набор правильный, только, к примеру, вместо 
Код

'1', 'asdf', 'asd', '123'
 я получаю 
Код

'1', 'asdf', 'asd', '1
. Если не принимать во внимание этот маленький недостаток, то все работает правильно.
С задачей я справился другим способом, классическим -- получаю массив, и "склеиваю" строку PHP скриптом (вместо получения готовой строки от СУБД).  Однако же, интересно, что за аномалия с этими 250 символами.
Заранее прошу извинить, если и на этот раз что-либо объяснил невразумительно.
PM   Вверх
Akina
Дата 18.4.2007, 12:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



а-а-а! вон ты о чем... ну так все правильно. 
Ты же делаешь конкатенацию стрингов, получаешь стринг... а какая максимальная длина у стрингового поля?

Добавлено через 1 минуту и 20 секунд
я только не понимаю, зачем ты данные через РНР тащишь... что мешает открыть 2 ODBC-коннекта и напрямую сделать insert into


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.