|
|
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
Добрый день всем. Вопрос по IQ и связке с ASE. Работаем с АСЕ 12.5.0.3. Решил хотябы посомтреть на IQ. Наткнулся на такую интересность. Может быть подскажете в чем грабли. Итак. Есть АСЕ Adaptive Server Enterprise/12.5.3/EBF 13339 ESD#7/P/x86_64/Enterprise Linux/ase1253/1951/64-bit/OPT/Fri Mar 24 00:39:11 2006 Есть IQ Adaptive Server IQ/12.6.0/041214/P/GA/MS/Windows 2000/32bit/2004-12-14 07:07:24 На АСЕ создал таблицу Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. На IQ создал ремоут сервер на АСЕ и создал прокси таблицу на таблицу майк. Затем делаю Код: plaintext pkey,val1,val2,val3,val4,val5,val6,val7,val8 1,'нварчар 10','нваÑ\x80Ñ\x87аÑ\x80 99','нваÑ\x80Ñ\x87аÑ\x80 100','нваÑ\x80Ñ\x87аÑ\x80 250','варча','варчар 99','варчар 100','варчар 250' То есть длинные нварчаровые поля возвращаются белибердой. Везде (и в АСЕ и в IQ) - utf8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 12:41 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
Sybase IQ does not support the Adaptive Server Enterprise data type nvarchar, but you can insert data from an ASE database column of data type nvarchar using INSERT...LOCATION to character type columns. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 17:21 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
То есть вообще без прокси таблиц? Прокси естественно создается с варчарами (в три раза большими). Если не сложно - вопрос тогда по синтаксису. Я создал у себя Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Затем пишу Код: plaintext 1. 2. 3. Вроде как все по документации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 17:37 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
В последнем сообщении - test - наименование ремоутсервера в айкью, который ссылается на мою АСЕ. my_db - база на сервере АСЕ. таблица там - dbo.mike ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 17:39 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
Забыли фигурные скобки для select insert into dba.mike_new(pkey,val1,val2,val3,val4,val5,val6,val7,val8) location 'test.my_db' packetsize 512 { select pkey,val1,val2,val3,val4,val5,val6,val7,val8 from dbo.mike } P.S. также разумеется логин/пароль под которым вы в IQ, должен присутствовать в ASE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 18:31 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
MichaelTimВ последнем сообщении - test - наименование ремоутсервера в айкью, который ссылается на мою АСЕ. my_db - база на сервере АСЕ. таблица там - dbo.mike test это не имя в remote servers - это определение сервера в файле interfaces (sql.ini). т.к. insert location подключается через openclient ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 22:51 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
Так получилось! Спасибо, буду копаться дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2008, 09:46 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
действительно у меня получилось, так как совпало с именем из sql.ini ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2008, 09:47 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
вот что заметил когда начал дальше разбираться. Большинство полей перенеслось null-ами :( причем попробовал создать еще одну копию таблицы в IQ и заново перенести использую инсерт .. локейшн - тот же результат. Все, что переносится - переносится нормально по русски из полей нварчар. Но точно не перенеслось ни одно поле varchar... и одно небольшое nvarchar(12). Перенеслись numeric, int, decimal, nvarchar от 50 и выше длины. Все остальное - NULL. В чем могут быть грабли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 13:49 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
Поднимаю опять тему. Поставил 12.7 IQ. Теперь insert location успешно работает. Наткнулся на интересную ошибку. IQ, remote server на ASE, создал несколько прокси таблиц. Тест конекшна проходит на ура. В isql на IQ делаеш какуюто выборку из этих таблиц - на ура. В процедуре пытаюсь сделать джоины с этими таблицами - все. Выполнение останавливается. На АСЕ нахожу появившийся конект с этой машины. Но запросов с него нет. Что делать - ума не приложу. Никто не наступал на такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 12:01 |
|
||
|
IQ и прокси на ASE
|
|||
|---|---|---|---|
|
#18+
MichaelTimПоднимаю опять тему. Поставил 12.7 IQ. Теперь insert location успешно работает. Наткнулся на интересную ошибку. IQ, remote server на ASE, создал несколько прокси таблиц. Тест конекшна проходит на ура. В isql на IQ делаеш какуюто выборку из этих таблиц - на ура. В процедуре пытаюсь сделать джоины с этими таблицами - все. Выполнение останавливается. На АСЕ нахожу появившийся конект с этой машины. Но запросов с него нет. Что делать - ума не приложу. Никто не наступал на такое? Так как IQ является DWH и изначально предназначен для работы с большими объемами данных, то поведение его частенько забавно с точки зрения людей, привыкших к работе с OLTP. Например, что сделает OLTP, если в результате выполнения запроса или вставки записей у него кончится место в базе данных или во временном пространстве ? ;) Правильно - он откатит транзакцию с ошибкой и ругнется. Что сделает в этой ситуации сервер хранилища данных ? Он напишет в консоль сообщение "Место кончилось, пожалуйста добавьте место" и ... подождет. Ибо откатывать транзакцию или откладывать выполнение запроса, где возможно уже было записано или пересмотрено пару террабайт данных выглядит не разумным. Поэтому мой совет - почаще открывайте консоль IQ когда он вдруг замолчал и смотрите, а что он там пишет, вдруг он просто Вас ждет ;) P.S. Еще совет - в IQ есть прокси таблицы, но не потому что они ему так уж нужны, а потому что он крутится под управлением движка ASA, а значит и имеет все то, что имеет версия ASA, включенная в данную версию IQ (например для IQ 12.7 встроена ASA 9). Не надо мучать сервер DWH прокси таблицами, не любят они этого, ибо не предназначены. Стандартный подход организации работы хранилища данных - данные преобразовываются и заливаются через ETL средства или в текстовом формате CSV. То есть наиболее оптимальным в Вашем случае было бы настроить в ASE к примеру ежедневную выгрузку данных через BCP в CSV и их загрузку через штатную команду IQ LOAD TABLE. Попробуйте, это может оказаться проще и эффективнее, чем мучать прокси таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2009, 10:20 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35715833&tid=2011153]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 461ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...