|
|
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Есть загвоздка надо данные из фоксовских таблиц загнать в базу interbase, все хорошо за исключением символьных данных на русском языке, не хочет вставлять. Пишет что ошибка. Текст программки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. И естественно не работает простая вставка инсертом, тоже с символьными полями на рууском языке. Помогите кто чем может..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 16:02 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Нельзя использовать однобуквенные переменные в подобных случаях. Дело в том, что за некоторыми буквами закреплены соответсвующие рабочие области и это может привести к неоднозначности. Кроме того, CPZERO - не меняет содержимое файла. Она всего-лишь меняет признак в заголовке файла, указывая FoxPro в какой кодовой странице следует читать содержимое. Если же содержимое файла было сформировано в дургой кодовой странице, то Вы получите совершенно не читаемый текст. Раз возникла необходимость устновить кодовую страницу, то, скорее всего, данный файл был создан в каком-либо DOS-приложении. А это означает, что, скорее всего, он был создан в кодовой странице 866. В собственно FoxPro эта таблица отображается нормально? Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 10:52 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
ВладимирМНельзя использовать однобуквенные переменные в подобных случаях. Дело в том, что за некоторыми буквами закреплены соответсвующие рабочие области и это может привести к неоднозначности. Кроме того, CPZERO - не меняет содержимое файла. Она всего-лишь меняет признак в заголовке файла, указывая FoxPro в какой кодовой странице следует читать содержимое. Если же содержимое файла было сформировано в дургой кодовой странице, то Вы получите совершенно не читаемый текст. Раз возникла необходимость устновить кодовую страницу, то, скорее всего, данный файл был создан в каком-либо DOS-приложении. А это означает, что, скорее всего, он был создан в кодовой странице 866. В собственно FoxPro эта таблица отображается нормально? Код: plaintext 1. 2. Все это хорошо. Спасибо. Но проблема остается проблемой. Помогите кто чем может... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 14:23 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Kommunar ВладимирМ... В собственно FoxPro эта таблица отображается нормально? Код: plaintext 1. 2. Все это хорошо. Спасибо. Но проблема остается проблемой. Помогите кто чем может... Тебе вообще-то вопрос по существу задали, с разъяснением причин. Что получается-то? Код: plaintext 1. Или так Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 14:29 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Dima T Kommunar ВладимирМ... В собственно FoxPro эта таблица отображается нормально? Код: plaintext 1. 2. Все это хорошо. Спасибо. Но проблема остается проблемой. Помогите кто чем может... Тебе вообще-то вопрос по существу задали, с разъяснением причин. Что получается-то? Код: plaintext 1. Или так Код: plaintext 1. 2. Да читается все хорошо в обоих случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 15:48 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
KommunarДа читается все хорошо в обоих случаях. Значит убери в своем коде Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 15:52 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Dima T KommunarДа читается все хорошо в обоих случаях. Значит убери в своем коде Код: plaintext Ну незнаю мужики, может я чего то не понимаю, нофакт в том что эта падлюка не добавляет даже вот так: a='рррррр' SQLEXEC(lnnewconnection,"insert into mnci02(k_tt,k_ptt,k_ntex,name) values (1,2,1,?a)") SQLCOMMIT(lnnewconnection) Причем a='рррррр' - русские буквы. Что можете сказать по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 08:46 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Kommunar Dima T KommunarДа читается все хорошо в обоих случаях. Значит убери в своем коде Код: plaintext Ну незнаю мужики, может я чего то не понимаю, нофакт в том что эта падлюка не добавляет даже вот так: a='рррррр' SQLEXEC(lnnewconnection,"insert into mnci02(k_tt,k_ptt,k_ntex,name) values (1,2,1,?a)") SQLCOMMIT(lnnewconnection) Причем a='рррррр' - русские буквы. Что можете сказать по этому поводу? Начинай тогда с самого простого: Код: plaintext 2. Другими средствами русский текст в базу сохраняется? Если да, то как он после этого в фоксе отображается? 3. Разберись в какой кодировке сервер ждет и в ней подставляй: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 09:03 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Dima T Kommunar Dima T KommunarДа читается все хорошо в обоих случаях. Значит убери в своем коде Код: plaintext Ну незнаю мужики, может я чего то не понимаю, нофакт в том что эта падлюка не добавляет даже вот так: a='рррррр' SQLEXEC(lnnewconnection,"insert into mnci02(k_tt,k_ptt,k_ntex,name) values (1,2,1,?a)") SQLCOMMIT(lnnewconnection) Причем a='рррррр' - русские буквы. Что можете сказать по этому поводу? Начинай тогда с самого простого: Код: plaintext 2. Другими средствами русский текст в базу сохраняется? Если да, то как он после этого в фоксе отображается? 3. Разберись в какой кодировке сервер ждет и в ней подставляй: Код: plaintext Не знаю попробовал: Код: plaintext 1. 2. Попробовал: Код: plaintext 1. Посмотрел настройки драйвера character set - win1251 Скрипт создания базы данных и таблицы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Может какя нить виндовская настройка? Что можете сказать по сложившейся ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 09:57 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Kommunar Код: plaintext Вот это чушь полная - ты берешь текст в кодировке 1251 (т.к. фокс использует ее), говоришь что считать его 866 и перевести в 1251. Вот что у тебя происходит: Код символа 'a' в 1251 = 224 в 866 под кодом 224 символ 'p' в 1251 код 'р' = 240 Итого CPCONVERT(866,1251,'а') = 'р' вот так CPCONVERT(1251,866,'а') получим код символа 'a' в 866 кодировке = 160 функция ASC() возвращает код первого символа в строке. выполни следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Покажи как к базе подключение происходит. PS Надо наверно другой ODBC драйвер поискать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 10:29 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Dima T Kommunar Код: plaintext Вот это чушь полная - ты берешь текст в кодировке 1251 (т.к. фокс использует ее), говоришь что считать его 866 и перевести в 1251. Вот что у тебя происходит: Код символа 'a' в 1251 = 224 в 866 под кодом 224 символ 'p' в 1251 код 'р' = 240 Итого CPCONVERT(866,1251,'а') = 'р' вот так CPCONVERT(1251,866,'а') получим код символа 'a' в 866 кодировке = 160 функция ASC() возвращает код первого символа в строке. выполни следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Покажи как к базе подключение происходит. PS Надо наверно другой ODBC драйвер поискать. Получил - 32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 13:29 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Kommunar... Получил - 32 32 - пробел. А запись-то добавилась? Мыслей больше нет. Пробуй менять ODBC-драйвер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 14:09 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
1. Для тех, кто не понял, повторяю еще раз: НЕЛЬЗЯ использовать однобуквенные имена переменных. При определенных ситуациях это приводит к непредсказуемым последствиям. 2. SQLExec() возвращает некое значение. Кроме того, по AERROR() можно прочитать сообщение об ошибке, если таковое есть. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 14:15 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
ВладимирМ1. Для тех, кто не понял, повторяю еще раз: НЕЛЬЗЯ использовать однобуквенные имена переменных. При определенных ситуациях это приводит к непредсказуемым последствиям. 2. SQLExec() возвращает некое значение. Кроме того, по AERROR() можно прочитать сообщение об ошибке, если таковое есть. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Попробовал и так тоже не получается. Текст ошибки: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 14:26 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
А ты вообще, хоть как-нибудь можешь записать в поле mnci02.name русские буквы? Не через ODBC, а как-нибудь напрямую? Тебе же сообщение об ошибке ясно говорит, что не поддерживается трансляция символов. Это либо проблемы настройки драйвера ODBC, либо проблемы настройки InterBase. Возможно, настройки таблицы или поля. FoxPro тут вообще не при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 14:52 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
ВладимирМА ты вообще, хоть как-нибудь можешь записать в поле mnci02.name русские буквы? Не через ODBC, а как-нибудь напрямую? Тебе же сообщение об ошибке ясно говорит, что не поддерживается трансляция символов. Это либо проблемы настройки драйвера ODBC, либо проблемы настройки InterBase. Возможно, настройки таблицы или поля. FoxPro тут вообще не при чем. Да могу через sql который с сервером идет. Нормально все заносит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 15:20 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Сейчас скачал другой драйвер - XTG Systems InterBase ODBC driver 1.0.15. Через этот вообще подключаться не хочет. Народ а кто нить вообще фокс с interbase скрещать пытался???? Если да то каким образом или какими дровами пользовался??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 15:44 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
KommunarСейчас скачал другой драйвер - XTG Systems InterBase ODBC driver 1.0.15. Через этот вообще подключаться не хочет. Народ а кто нить вообще фокс с interbase скрещать пытался???? Если да то каким образом или какими дровами пользовался??? Поищи в форуме по словам interbase или firebird обсуждалось подобное, ссылки были. А Interbase по каким соображениям выбран? MS-SQL чем не устраивает? Фокс лучше всего под MS-SQL заточен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 15:58 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Dima T KommunarСейчас скачал другой драйвер - XTG Systems InterBase ODBC driver 1.0.15. Через этот вообще подключаться не хочет. Народ а кто нить вообще фокс с interbase скрещать пытался???? Если да то каким образом или какими дровами пользовался??? Поищи в форуме по словам interbase или firebird обсуждалось подобное, ссылки были. А Interbase по каким соображениям выбран? MS-SQL чем не устраивает? Фокс лучше всего под MS-SQL заточен. Я хотел MS поставить. Пробовал 2000 и 2005, не один не стал. 2005 помоему enterprise edition, не хочет на xp становиться. 2000 тоже не хочет почему не могу понять. Система XP SP2. Пишет шо система не нравиться. Других релизов пока не нашел. Хотелось бы с интер - ом разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 16:02 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
http://www.sql.ru/forum/actualthread.aspx?tid=102422&hl=interbase А вобще поиск рулит тем по interbase тут навалом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 16:03 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
И что помешало поставить Desktop Edition, идущий в поставке с фоксом? Или Express из поставки VS. Оба бесплатные и можно скачать с сайта мелкомягких. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 16:05 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov.И что помешало поставить Desktop Edition, идущий в поставке с фоксом? Или Express из поставки VS. Оба бесплатные и можно скачать с сайта мелкомягких. не все так просто. Фокс ставил не я. А во вторых это завод который вечно на все зажимает денег. Так что приходиться обходиться как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 16:23 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
А во вторых это завод который вечно на все зажимает денег. Не понял. Я ж вроде бы по-русски написАл: бесплатные. При чем тут деньги и зажимистость? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 17:09 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Kommunar... Я хотел MS поставить. Пробовал 2000 и 2005, не один не стал. 2005 помоему enterprise edition, не хочет на xp становиться. 2000 тоже не хочет почему не могу понять. Система XP SP2. Пишет шо система не нравиться. Других релизов пока не нашел. Хотелось бы с интер - ом разобраться. MS SQL 2005 Express edition - бесплатный, ставиться на XP, качается с сайта MS. Ограничения: использует 1 процессор, максимальный размер базы 4Гб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2007, 08:34 |
|
||
|
Fox - Interbase
|
|||
|---|---|---|---|
|
#18+
Dima T Kommunar... Я хотел MS поставить. Пробовал 2000 и 2005, не один не стал. 2005 помоему enterprise edition, не хочет на xp становиться. 2000 тоже не хочет почему не могу понять. Система XP SP2. Пишет шо система не нравиться. Других релизов пока не нашел. Хотелось бы с интер - ом разобраться. MS SQL 2005 Express edition - бесплатный, ставиться на XP, качается с сайта MS. Ограничения: использует 1 процессор, максимальный размер базы 4Гб. Вопрос наверно туповатый, но тем не менее: может он работать как сетевой а не десктоп сервер? сколько к нему могут подсоединиться пользователей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2007, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=180&tid=1588568]: |
0ms |
get settings: |
7ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 363ms |

| 0 / 0 |
