Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2010-04-27

Невозможно записать NULL

Сегодня меня посетил очередной разрыв шаблона. Я понимаю, в сложных системах трудно все сделать хорошо, но чтобы такие косяки... не ожидал.

ESRI ArcGIS, так называемый геопроцессинг, суть которого в том, что используя некий программный обьект, можно делать разное с данными в ГИС.
Примитивная задача — построчно скопировать данные из одной таблицы в другую, по ходу проведя некие преобразования с некоторыми полями.
Пишем цикл:
для каждой строки А в исходной таблице (
добавить строку АА в целевую таблицу
для каждого поля Б в строке А (
если поле Б надо обработать (
обработать поле Б
)
записать поле Б в строку АА
)
)

Первый класс школы.
Всем известно, что в БД бывают значения NULL. Так вот, этот нулл записать в целевую таблицу невозможно. Эта редиска, геопроцессор, не в состоянии записать нулл в таблицу.
Еще не упали? Тогда дальше. Фигня, не можешь записать, просто вставь пустую строку, мы неНУЛЛ запишем, нуллы просто не будем трогать. Легко? Да. Работает? Нет. Эта редиска, геопроцессор, при добавлении новой строки копирует в нее значения из предыдущей вставленной строки.
Того, кто это придумал, если это не ошибка, расстрелять.

На есрайном форуме люди уже зубы сьели, пережевывая тему. Уже вышло три или более редакции софта а проблема все не решается. Видимо это не ошибка. Расстрелять.

Некоторые пацаны утверждают, что если обьект геопроцессора создавать через модуль win32com, то нулл записать можно. Тут другая проблема, есрай пытается перестать поддерживать этот модуль, с целью кроссплатформенности, видимо.

Хорошую вещь есраем не назовут, правда?

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)