|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
29.08.2011, 15:58 | #1 | |
Как переделать коды AutoCAD R14 работающие с БД для работы в AutoCAD 2009
г. Балаково
Регистрация: 29.08.2011
Сообщений: 48
|
||
Просмотров: 21997
|
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Облазил весь форум, все посылают к ADOLisp. А Вы сами это пробовали? Во-первых не могу понять как ее запустить, что бы посмотреть как она работает? Во-вторых я не так силен в LISP, а тем более в ActivX. Можно разобрать ADOLisp более подробно?
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Пробовали. Работает.
Там все написано - сначала надо сделать объект Connection к БД, потом формировать запрос и запускать его. Только по шагам и только самостоятельно. На данный момент проще будет просто взять его и использовать, особо не заморачиваясь с внутренностями этого черного ящика.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Ребята Вы здесь все такие умные. Один говорит смотри сюда, другой там все написано. Облазил всю ADOLISP_Library полно "defun", но нигде нет "defun c:", тоже самое ADOLISP_Example. Говорю Вам я "чайник". Можно просто объяснить, как воспользоваться эти файлами: ADOLISP_Library.lsp, ADOLISP_Example.lsp и ADOLISP_test.mdb, чтобы увидеть как она работает?
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Andru1968, это - библиотека функций, а не команд. У меня есть к тебе пара вопросов: ты pdf читал? Если да, то там написано, как работать (начиная с раздела 4). Сначала объявляешь объект коннекта к БД (setq ConnectionObject (ADOLISP_ConnectToDB ConnectString UserName Password)). Как определять строку ConnectString - там же, 4.1.1.3.
Потом формируешь запрос на стандартном SQL и выполняешь его (раздел 4.1.2). После окончания работы с БД надо освободить коннект к ней (раздел 4.1.3). И второй вопрос: а что ты хочешь увидеть? Что подразумевается под вопросом
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Кулик Алексей aka kpblc,
1. Большое спасибо за ответ. 2. PDF на английском, в котором я вообще ноль. И по-этому на перевод уйдет много времени. Если у кого-то есть русская версия для ознакомления пришлите в личку. Заранее буду благодарен. 3. Если Вас действительно заинтересовала эта тема я могу в Word натыкать картинок с описанием, как работают имеющиеся коды в AutoCAD R14. Потому что 90% кодов для AutoCAD R14, я переработал для AutoCAD 2009 и они работают можно сказать один в один. Оставшиеся 10 % так или иначе связаны либо с передачей данных в БД, либо с редактированием их, либо с просмотром, либо данные из БД вставляются в документы создаваемые для печати. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Andru1968, почти вся документация по программированию на английском (исключение - MSDN, да и та переведена не полностью). Полноценно заниматься твоей задачей, извини, я не могу - физически нет времени.
Могу сказать сразу: описание, как там и что работает, мало чем поможет. Надо знать формат БД, место ее расположения, структуру таблиц и хранимых запросов и т.д. Может быть, вся БД вообще хранится не в mdb или SQL, а в чем-нибудь типа текстовых файлов (как, например, знаменитый "Прокат").
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813
|
Цитата:
http://www.cadtutor.net/forum/showth...l=1#post384945 |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Кулик Алексей aka kpblc,
Переводом PDF я займусь сам. БД расположена на сервере и все кто работают с данным пакетом имеют к ней полный доступ. БД храниться в *.dbf, но я нашел прогу позволяющую конвертировать ее в *.mdb или *.xls. О структуре таблиц и хранимых запросов ничего конкретного сообщить не могу. Знаю только что для соединения с БД были использованы функции ASE. |
|||
|
||||
Цитата:
ps. по поводу кода, для связи с базой данных, посмотри мой код 2004 года с комментариями
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Есть одно "но": диалект SQL, который работает в Access, отличается от MS SQL Server. По мелочам, но этого достаточно
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Насколько я смог понять формат БД одна таблица, которая содержит 18 полей тип данных числовой и текстовый, 2 числовых поля имеют размер "Двойное с плавающей точкой", остальные "Целое". Может код для R14 поможет понять структуру хранимых запросов.
Код:
И существующую БД я сумел конвертировать в *.mdb. По-этому меня интересует SQL для Access |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Надо решать принципиально: 1. Зачем эта программа запихана в AutoCAD? Что она делает такого, чего бы не могло сделать нормальное приложение для работы с БД (хотя бы сама MS Access)? С помощью примитивных средств DCL ничего серьезного с БД сделать нельзя. Встраивание именно в AutoCAD имело бы смысл при организации связей объектов AutoCAD и базы данных. Например, при щелчке по объекту получать информацию из БД и т.п. Ничего этого в программе нет. 2. Такая "база данных" фактически пригодна только для однопользовательской работы и не должна быть на "сервере". На каком таком "сервере", кстати? На файловом? Но даже в этом случае должно быть множество средств для организации многопользовательской работы (блокировки и т.п.) 3. Судя по набору полей это БД каких-то объектов (зданий). Вообще все такие вещи элементарно делаются в программах - инструментальных средствах ГИС. В том числе в недорогих или "практически бесплатных", таких как ObjectLand. Там всё необходимое, включая работу с БД, встроено в систему и доступно на уровне "секретарши". В AutoCAD же для решения таких задач требуется серьезное программирование, с не очень надежным результатом. Особенно если "не знаю английского" , "нет defun c:" и т.п. Возьмите более подходящий инструмент! Ну, конечно можно и ADOLisp использовать - это великолепная библиотека. Но для её использования надо очень много знать. Есть и самый правильный вариант - нанять специалиста. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
asilisp.arx присутствует это правда за asicfg.exe и т.д. отсутствует
ShaggyDoc При щелчке по объекту получаем информацию из БД, так оно и происходит. Приведенная программа я так понял устанавливала соединение с БД Код:
Основная часть кодов предназначена для топографов, она рисует условные знаки по всем предъявляемым к ним требованиям. Насколько мне известно ObjectLand этого не может, а БД нужна для землеустроителей. У нас 70% города нарисовано в этой карте и 50% района. Программированию я сейчас и пытаюсь научиться, для английского есть куча переводчиков, но на них уходит много времени. Подскажите где взять специалиста? Последний раз редактировалось Andru1968, 30.08.2011 в 17:19. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Вот это да, я честно говоря сразу и не смотрел, это-же действительно такой клиент БД на смеси автолиспа с ARX - то ли автор больше ничего не знал, то ли это "нашедшея жизнь" дипломная работа? Интересно а у пользователя, автокад по назначению вобще используется? Или он как библиотека к "программе" устанавливается.
Автору - напишите как (для чего) Вы это чудо используете - тут по ходу Вам автокад-то и не нужен.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
"В этой карте" - это в AutoCAD? Это тупиковый путь для информационных систем. AutoCAD, благодаря своим графическим возможностям, может быть очень удобен для топографов и геодезистов (т.е. "чертежников"). А в части информации - он "никакой". Какие бы завлекательные описания о нем не сочиняла фирма. Просто-напросто Autodesk проспала развитие "мира ГИС", а потом только делала вид, что и она "в теме", выпуская целую линейку продуктов. Знаю это не понаслышке - сам лет 10 делал ГИС на базе AutoCAD. Да, в AutoCAD можно сделать привязку "семантики" к "графике". Причем разными способами. Есть и Database Connectivity, и примеры с CAO в поставке AutoCAD (см. caotest.lsp, caotest.dcl). А раньше ASI было. Но всё это чрезвычайно примитивно. Просто навешивание лапши на уши, да показать, что "в принципе можно". И, самое главное, порочно по сути. Информация о любых пространственных объектах (например, земельных участках) состоит из двух частей: 1. "Семантическая" - описательная часть (номер, владелец и т.п.) 2. Координатная - координаты вершин. В "решениях Autodesk" координатная информация хранится внутри DWG - как обычные координаты примитивов. А "семантика" - может и прямо в DWG или, в "продвинутом" варианте в "базе данных". Связь графики и семантики производится через расширенные данные (ничего иного и не придумали). Ну и можно программы в разных вариантах сделать (мы делали), для работы с данными. Но самое главное и самое плохое то, что координаты внутри DWG. Это значит, что они оторваны от семантики, спрятаны в закрытом формате, с ними можно работать только посредством самого AutoCAD (или его "вертикальных" решений). Формат DWG - это не база данных, с которой могут работать множество пользователей одновременно. И даже для "попеременной" работы на каждом рабочем месте должен стоять полноценный AutoCAD. Вынести пространственные данные в БД можно - "назло Autodesk". Однако для этого надо делать серьезную систему для работы с БД и со связкой "БД-AutoCAD". И вообще с любой другой системой. Мы это делали ещё лет 20 назад, с современными инструментами это проще, хотя "вопрос интересный". Ну а зачем тогда нужен сам AutoCAD? Да только как очень дорогое средство визуализации "карт", использующее 10% от своей действительно великолепной графической системы. Мы его когда-то так и использовали, потому что иных средств просто не было. А потом отказались - слишком дорого. Это чертежи "рисовать" можно втихаря на пиратском AutoCAD, а с информационной системой (заведомо не частного уровня) такое не пролезет. А накопленная информация по нескольким городам никуда не делась. Она полностью, с координатами, находится в БД и отрисовать её можно в любой графической среде. Ну и цена у ObjectLand для 1 пользователя 6000 руб, для 10 пользователей - 21000 руб, а "сайт-лицензия" (неограниченное количество мест в пределах "места") - 180000 руб (я покупал еще за 96 т.р.). И даже если не покупать, а просто скачать и работать, то нет никаких ограничений, кроме логотипа на карте. Это очень удобно - можно как следует "пошшупать". И уж точно приобретение намного выгоднее, чем попытки чего-то смастерить "под AutoCAD", особенно не зная предмета. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Теперь стало более менее понятно. По вопросу: тут несколько вариантов, самый быстрый и дешевый - найти автора, я думаю он быстрее всего разберется и переделает под 2009, но это не всегда физически возможно; второй путь это попытаться "проапргрейдить" существующий рабочий проект, lisp кодам и DCL скорее всего редактирование не потребуется (если и потребуется то "не сильное"), что не скажешь про arx (exe?) библиотеки (модули) - если там используется только "фирменные", то шансы найти под новую версию (или перекопмилировать исходник) есть, если-же там еще есть "авторское творчество", то боюсь проще "все по новой" - со всеми вытекающеми - описание задачи, временем, деньгами, отладкой, обкаткой и пр.
з.ы. Специалисты "водятся" здесь и в поиске исполнителей. з.з.ы Пока писал, свое мнение касательно рациональности и перспективности этого вопроса описал ShaggyDoc - я с ним полностью согласен.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 30.08.2011 в 20:54. |
|||
|
|||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
ShaggyDoc
Цитата:
Цитата:
Цитата:
Цитата:
Может поделитесь своим опытом? |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Я лично предлагал и два других варианта, просто мне кажется что это все-таки тупиковый путь - я понимаю что переучиваться и переделывать муторней, но - надо смотреть весь комплект, вполне может быть что те самые 90% являються "оберткой" вокруг тех 10 - которые не работают, а написать его по новой можно только "раскопав" все требования к нему - еще раз повторю - если это просто "штатная" библиотека - то скорее всего понадобиться просто найти "современную" версию, если там заложен "рукописный" функционал программы - то раскапывать что он должен делать - все равно что новый писать. То есть если придеться кардинально переделывать, то трудозатрат никак не избежать - а посему лучше все таки присмотреться к готовым продуктам (так просто дешевле).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Я даже фамилий их не знаю. Если Fleming в начале каждой программы заявляет о своих авторских правах, то создатели GEO-пакета не оставили о себе ни какой информации. Я просто случайно обнаружил исходники на одном из компов в организации, где устанавливал GEO-пакета, на мой вопрос откуда они взялись никто не смог ответить.
Нет 10% - это именно коды для работы с БД. Смотри Код выложенный в #13 А можно поточнее |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Между прочим Map 3D вполне себе ГИС, если надо дешевый вариант смотреть карты то - MapGuide Open Source http://mapguide.osgeo.org/
Для топографов - Civil 3D, который полностью включает Map 3D. Так что лучше изучайте современные инструменты! |
|||
|
|||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Прилагаю несколько наугад взятых кат из OL Цитата:
Цитата:
Цитата:
А вот ObjectLand, ИнГЕО - вполне доступны и по ценам и по возможностям. Всякие "силовики" предпочитают "Панораму" - тоже прекрасный продукт. |
||||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
trir
Цитата:
gomer Цитата:
ShaggyDoc Согласен я не спец в ObjectLand, но я видел неоднократно как ObjectLand используется работниками кадастровой палаты в нашем городе, т.е. подразделением Росреестра, там именно только квадратики, прямоугольнички и многоугольнички. Линейные объекты (нефтепроводы, газопроводы и т.д.), колодцы, столбы они говорят мы показать не можем нет такой функции. что Вы имеете ввиду Цитата:
ShaggyDoc Просмотрел Ваши миниатюры. Первая похожа на карту, только вот условные знаки выполнены с несоблюдением требований, которые требует ГУГК. Я повторюсь, я топограф и по образованию и по профессии, поэтому требования ГУГК для меня закон. А теперь назовите хоть одну программу для черчения карт, которая бы придерживалась требований ГУГК. В начале своей работы с GEO-пакетом, я слышал что руководитель группы разработчиков был именно геодезистом, и что программистам пришлось изучить геодезию и теоретически и практически. Последний раз редактировалось Andru1968, 31.08.2011 в 23:12. |
|||
|
|||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
Цитата:
Электронные карты проходят через Геонадзор, включаются в банки картографических данных и не будут приняты, если что-то не так. Более того, сейчас созданы классификаторы для топографических карт и планов на все масштабы. Они построены в соответствии с "условными знаками", для каждого вида изображений установлены единые имена слоев, единые названия "семантик", установлены единые требования к цифровым топографическим картам и планам, единая терминология (чтоб не говорили "квадратики"). Разумеется, и требования бывшего "ГУГК" учитываются (а также изменяются). И современная Роскартография здесь работает. В частности, для всех своих предприятий установила единый программный продукт (разумеется, не Автокад). И единые карты на всю страну в электронном виде делаются. Современная электронная карта уже не просто "компьютерная" копия бумажной, пригодная для распечатки. Если на традиционном планшете "нарисован" дом, то кроме подписи наподобие "9КЖ" ничего информативного об нем нет. А на электронной карте, даже чисто топографической, уже должна быть обязательная "семантика" по классификатору. И эта семантика сидит в скрытом виде, находится в базе данных. Чисто графическое топографическое черчение условными знаками (точечными, линейными, площадными) сделать очень просто. Коли спрашивал "хоть одну программу" - назову свою "Интегрированная система ruCAD". Она имела несколько версий и названий (TiGRA, zCAD, InCAD, BestIA). Вот там всё топографическое "рисование" внутри AutoCAD. И условные знаки в точном соотвествии с "ГУГК" - это специально проверяли несколько комиссий, "до мулиметра". Сделано несколько тысяч электронных планшетов по таким городам как Челябинск, Курган. Но даже чисто чертежной части одного плана или планшета мало, надо иметь возможность ими пользоваться. Нужна система. Электронные планшеты лежат в специальном банке топографических данных. Работая над планом города, специалист, имеющий доступ к банку данных, может подгрузить топооснову по любому участку местности (по точке, прямоугольнику или трассе). Кстати, и в Интернет может просмотреть любой планшет с переходом на соседние, с управлением слоями и получением дополнительных данных по объекту. Это делалось именно в AutoCAD ради проектировщиков. А вот всем остальным службам не столь важна сама топография, как информация. Вот на этой топооснове уже создаются дополнительные информационные слои. Т.е. к контуру, например, здания будет привязана и какая-то "кадастровая", или "полицайская", или "электрицкая" информация. В AutoCAD это делать можно (мы делали), но совершенно неудобно и неэкономично. Да и технически AutoCAD менее всего приспособен для настоящей ГИС. Попробуйте, например, управлять порядком отображения слоев "по вертикали", отобразить один слой в карте в разных видах, автоматически создавать подписи, автоматически генерализировать изображение при изменении масштаба. Не говоря уж про информационную часть или аналитику. Цитата:
В настоящих ГИС таких вопросов и не возникнет. Там и средства разработки есть (если возникают какие-то дополнительные задачи), но всё основное есть изначально. Причем разработка ведется, как правило, с использованием любых систем программирования. А почему ты не можешь спокойно своё проверенное приложение в новой версии использовать? Да потому, что Autodesk идет порочным путем. Твой asilisp.arx из AutoCAD-14 не будет работать в других версиях - это специально сделано. Даже если в нем нет ничего "эдакого", и даже если есть исходные тексты, и даже если есть голова, надо будет приобрести ещё и определённую версию VisualStudio да всё перекомпилировать (скорей всего не только). Развод лохов на бабки называется, путем сговора Microsoft и Autodesk. |
||||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
ShaggyDoc
Повторюсь еще раз, дело в том что AutoCAD 2009 лицензионный уже купили и вопрос остался только нужна ли БД или просто плюнуть на нее, по-этому все другие существующие ПО работающие в данном направлении мне сейчас неинтересны. Просто в оставшиеся 10% входят коды для подготовки документов, при этом они берут часть информации из БД. Можно конечно их переделать, чтобы они перестали обращаться к БД и "дело в шляпе" GEO-пакет для AutoCAD 2009 готов, а можно либо своими силами, либо найти людей, но все-таки сделать GEO-пакет для AutoCAD 2009 на все 100% "назло Autodesk". Я благодарен ShaggyDoc за все его внимание к моей проблеме, за ту информацию, которую мне удалось под черпнуть из его сообщений. Но как говорилось в эпиграфе к одному тележурналу во времена СССР: "Орешек знаний тверд, но мы не привыкли отступать..." Кто бы хотел заняться решением, повторяю именно решением проблемы отзовитесь? |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
ShaggyDoc, конечно прав, он зрит в корень, то бишь концептуально, но не совсем по теме... Да, чтобы внедрять новые технологии, начальство нужно дрессировать, ведь ему не важны средства производства, а только результат...
Конкретно по #13 Уберите Код:
Соответственно #16 тоже заработает... |
|||
|
||||
Регистрация: 14.12.2010
Там, где мамонты жили ...
Сообщений: 224
|
Сдается мне, что это АО "Аркада", баловалась она такими вещами в 90-е
в поисковике есть
__________________
Время – лучшее лекарство, лечит даже от жизни. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
PDF по ADOLISP_Library перевел, прочитал, поработал с ADOLISP_Example.
На базе ADOLISP_Example переделал свой код из под R14. Код:
Это все замечательно работает пока в чертеже есть какой-то номер, но стоит только удалить его или открыть "чистый лист", В БД появляется еще одна строчка с теми же данными. При работе кода для R14, если в БД находилась строка с теми же данными выдавалось сообщение "Строка уже есть в базе" и предлагалось либо заменить ее, либо выйти из программы, при этом коде для R14 использовались ASI-функции манипулирования курсором. А как это сделать для AutoCAD 2009. База данных имеет всего одну таблицу, т.е. нужны ли в ней ключевые поля. Последний раз редактировалось Andru1968, 27.09.2011 в 14:00. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Ключевое поле (поля) - основа реаляционных БД - иначе Вы не сможете "найти" запись, не зависимо от количества таблиц.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Структура БД такова
Имя поля Тип данных Размер поля Число десят.знаков Обязательное поле Пустые строки Индексированное поле ZONA_N Числовой Двойное с плавающей точкой Авто нет нет MAS_N Числовой Двойное с плавающей точкой Авто нет нет KVAR_N Числовой Двойное с плавающей точкой Авто нет нет UCH_N Числовой Двойное с плавающей точкой Авто нет нет NED1_N Числовой Двойное с плавающей точкой Авто нет нет NED2_N Числовой Двойное с плавающей точкой Авто нет нет N_ZD Текстовый 10 нет да нет S_UCH Числовой Двойное с плавающей точкой 2 нет нет S_DOK Числовой Двойное с плавающей точкой 2 нет нет K_L Текстовый 2 нет да нет PRED Текстовый 99 нет да нет ADR_OR Текстовый 50 нет да нет TIP_ZD Текстовый 20 нет да нет NAZN Текстовый 99 нет да нет NM_FU Текстовый 50 нет да нет N_POST Текстовый 10 нет да нет D_POST Текстовый 10 нет да нет LOGIN_USER Текстовый 15 нет да нет N_DOK Текстовый 10 нет да нет D_DOK Текстовый 10 нет да нет D_VV Текстовый 10 нет да нет D_KOR Текстовый 10 нет да нет Красным помечены поля, которые я сделал ключевыми, потому что в них записывается кадастровый номер участка, который не может изменяться. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Дима_, необязательно, мне кажется. Насколько я помню, конструкция типа INSERT INTO нормально сработает и без ключевых полей. Ключи нужны для организации связи между несколькими таблицами в нормализованной базе. Или я ошибаюсь?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Цитата:
В начале было так Цитата:
В R14 было так Код:
Последний раз редактировалось Andru1968, 28.09.2011 в 13:27. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
То Крыс - да работать-то будет, но, так сказать, write-only - как без ключевых полей произвести замену конкретного поля, конкретной записи? ну допустим первую(последнею) запись (соответствующие "общему" критерию) мы сможем выделить - update ..... limit1, а если вторая? Про несколько таблиц - я вобще молчу.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Дима_, значит, писать сложный запрос с вложениями WHERE и т.п. Но это, конечно, извращение, согласен
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Делаю вывод: ключевое поля нужно обязательно. Делаю так "Ключевое поле = ID, Тип данных = Счетчик, Индексированное поле = Да (Совпадения не допускаются).
Вопрос: Как правильно составить SQL запрос, чтобы к полю ID прицепить SQL-CURSOR, найти нужную строку, а потом либо ее заменить на новую, либо подредактировать, либо удалить совсем и причем все это сделать в LISP??? |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Допустим у нас таблица Names из полей id,Name,tel,address, мы вычислили id некого гражданина у которого нам надо исрпавить tel -
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Цитата:
Код:
|
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
|
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Для других данных нужно искать соответствующий "OleDbProvider". Сомневаюсь, чтобы такой был для OpenOffice - его OO Base вообще мало на что пригодна. Пока это пародия. Тем более нет никакого смысла из своей программы работать с этим форматом - надежных баз данных достаточно. |
|||
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Да бросьте - "просто не умеете их готовить" - прекрасная оболочка практически для любых "нормальных" БД (лично мне гороздо больше нравится, чем аналогичная от microsoft). Пародия - это пожалуй сама концепция т.н. "однопользовательских" БД - гемору много, зачем они вообще в совремеменной действительностпи нужны лично мне не понятно, для совсем "теток" есть excel, для "нормальных" задач - есть нормальные СУБД, убрали-бы давно эту "порнаграфию" как "файловая БД" - пусть отсавят оболочку для быстрой "обрисовки" несложных задач (которых в общем 80%), а данные надо хранить в нормальных БД. Если можно обойтись без офиса (опенофисом), то из-за Accessa его точно брать не стоит, да умеет он на 20% процентов меньше, но ИХМО с точки зрения GUI-оболочки для "нормальной" БД он гораздо удобней. А как я уже выше сказал, "правильное" использование программ такого рода - я только так и вижу.
p.s. Лично мне (но это конечно не значит, что и всем остальным) для работы из microsoftoffice - нужен только outlook (к сожалению пока совсместимых программ с аналогичными возможностями я не встречал), если-бы не он - клянусь - удалил бы нафиг (ну может ставил когда требуется проверка программ, "для кого-то" на предмет совместимости к excel, но это скажем так не лично для меня - не считаем в общем). Аналоги вордов и екселей, давно уже без детских болезней. Была у меня даже попытка самому написать аналог outlook (перед тем Новым Годом) - только естественной сетевой - под "нормальные" БД, но праздники, работа, в общем портотип (рабочий) есть, но заброшенный - быть может будет время - вернусь.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 05.10.2011 в 10:44. |
|||
|
||||
Ищу работу Регистрация: 12.06.2010
Сообщений: 35
|
То Дима_
Т.е. вы собирались один, между делом, написать outlook лучше чем вся микрософт? Я видимо, безнадежно тупой, поскольку в трех книгах запутался. В чем секрет, поделитесь. Может я не то читаю. Меня вот интересует ASP.NET+ MSSQL. Чтобы с места сдвинуться нужно прочесть Рихтера, Троелсена, Мак Дональда и Эспозито. Суммарный объем 4432 страницы. Общая толщина 20 см. Повеситься можно. Поэтому интересно, а как вы свои знания добывали?
__________________
На свете счастья нет, но есть покой и воля. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Поясню возникшую проблему:
1. Коды для работы с БД с использованием ADOLISP_Library для AutoCAD2009, готовы на 95%. 2. При этом использовалась БД созданная в Access Microsoft Office Professional 2003. 3. Организации, которые используют коды GEO-пакета, в своей работе используют кто MicrosoftOffice Home 2003, кто Microsoft Office Professional 2003, кто OpenOffice и т.д. Подскажите какую в этом случаи можно использовать БД, чтобы она не зависела от того какой Office используется той или иной организацией. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
Про знания - есть старая сказка - когда учитель просит ученика нарисовать объем своих и его знаний в виде 2 кругов, а потом замечает - смотри граница с непознанным у меня больше... Чем больше читаешь - тем больше вопросов, от этого к сожалению никуда не денешься.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 05.10.2011 в 11:51. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Ребята не уходите от темы. Повторяю свой вопрос?
1. Коды для работы с БД с использованием ADOLISP_Library для AutoCAD2009, готовы на 95%. 2. При этом использовалась БД созданная в Access Microsoft Office Professional 2003. 3. Организации, которые используют коды GEO-пакета, в своей работе используют кто MicrosoftOffice Home 2003, кто Microsoft Office Professional 2003, кто OpenOffice и т.д. Подскажите какую в этом случаи можно использовать БД, чтобы она не зависела от того какой Office используется той или иной организацией и при этом без лишних материальных затрат. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Вопрос просто поставлен так, что на него внятно ответить сложно - я люблю клубнику и смородину, но в них много сахара, а мне он вреден - какие ягоды мне есть? Если у пользователей используются excel и OO - используйте коннекторы, либо обращайтесь через com и.т.д, если нужны базы данных - полно как платных, так и бесплатных (firebird, mysql) - но что от них толку, если у "других" их нет и данными они пользуется из OO. К экселевским файлам через ADO можно обращаться и без устанановленного excel'я (есть готовые примеры на форуме), так-же их умеет читать и ОО - что Вам нужно сделать "нормально" или чтоб "другие" как и раньше работали? (а работают они не нормально, по крайней мере по современным представлениям).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Вопрос сформулируем по другому. GEO-пакет для R14, как и сам R14 достался всем организациям можно сказать на "халяву", при этом имеется база данных назовем ее proba.dbf и есть какая-то программка под названием BAZAVIEW для просмотра данных. Все были довольны и счастливы, пока не пришли "люди в черном". Все начали искать выход из этой ситуации. Кто "ушел в подполье", кто купил лицензионный AutoCAD не задумываясь о том будет он работать как R14 или нет, кто gstarcad. И началась в городе чехарда, как в басне про лебедя, рака и щуку. Чтобы восстановить в городе мир и покой, я решил переделать GEO-пакет под легальный AutoCAD (за определенную плату), так как есть исходники и не много понимаю в LISP. И получается так:
1. все покупаем AutoCAD. 2. покупаем новый GEO-пакет. только есть одно но, он будет работать на все 100% в том случаи, если у Вас 3. есть Microsoft Office Professional 2010. 4. есть Windows 7. Спрашивается, зачем мне (точнее какому-нибудь ООО "...") тогда нужен этот GEO-пакет, буду работать в "подполье". По-этому, чтобы исключить пункты 3 и 4 и нужна легальная "халявная" БД типа той, которая есть в OpenOffice. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
С чего взялись требования к 3 и 4? Легальные халявные и "реальные" БД #61 - mysql, firebird. Для просмотра последних можно написать свою "гляделку", использовать встроенные в БД GUI'шники (точнее от создателей СУБД). Подключить тот-же OO.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
В случае локальной базы данных лучше всего использовать MDB. Хотя это называется "Microsoft Access Database", сама MS Access для работы пользователя не нужна, может только разработчику понадобиться в качестве конструктора БД. Да и это не обязательно. В этом случае будет только файл, без сервера БД. Нужен движок, который обычно есть в Windows или который можно бесплатно взять у Microsoft. Есть и другие "бессерверные" базы данных (например SQLLite и подобные), но к ним будет трудно найти OleDbProvider, требуемый для доступа к БД из Lisp через ADO. Если делать с перспективой на многопользовательскую работу, то надо использовать локальный сервер БД, для которого опять же есть OleDbProvider. Я лично предпочел бы Firebird, у которого есть "emedded" вариант. Или MySQL. Это будут бесплатные для разработчика и пользователя варианты. Цитата:
"Халявная" OO Base - самый слабый продукт в семействе OpenOffice. Пока это жалкая попытка сделать "как в Access". Даже экспорта нет. И тьма других недостатков, описанная многими. Похоже, что делает самое слабое звено в команде. Сама "БД", которая используется в OO Base (это и должно интересовать программистов) - зазиппованный файл в двоичном формате одного из редких диалектов SQL. Прямая работа невозможна, OleDbProvider не найти. И это по-прежнему локальный файл. Лет через десять может что-то получится, пока прогресс незаметен. Уж лучше просто DBF. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Это я так образно сказал, чтобы было понятно, что ООО "....", как пользователю GEO-пакета интересуют только пункты 1 и 2, а все остальное это проблемы разработчика, т.е. мои.
А можно об этом по подробнее. И как можно использовать уже существующую БД proba.dbf и ее просмоторщик BAZAVIEW в AutoCAD2009, если учесть тот факт, что в R14 они работают не зависимо от пунктов 3 и 4. Цитата:
Запустил DBED.EXE, выскочило окно похожее на NortonCommander, нажал клавишу F1 "Info", выскочило такое сообщение Type of File: dBase III. V or FoxBase Last Updated: 29/09/111 Version 1.91 09.1996 Последний раз редактировалось Andru1968, 06.10.2011 в 09:14. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Просмотрщиков DBF столько же, сколько программистов было лет 20 назад. И программ с именем "BAZAVIEW" может быть сколько угодно. Явно написана дилетантом, профессионал "BAZAxxxx" никогда не назовет. А теперь интерес к DBF утерян. Как использовать в AutoCAD - зависит от возможностей программы - умеет ли она взаимодействовать с AutoCAD. Скорее всего просто запускать как обычный EXE. Цитата:
Конкретно для DBF при использовании технологии ADO провайдером может быть MSDAQL. Всё что надо знать по работе с БД в AutoCAD подробно описано в главе 19 моей книги "САПР на базе AutoCAD. Как это делается". Цитата:
|
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Цитата:
Цитата:
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
На 32-разрядных системах.
Необязательно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Точно произойдет. Да и когда данных будет более-менее приличное количество, "загнется" ваш "сервер", даже на гигабитной сети.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Цитата:
|
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
При использовании современных средств разработки и правильных компонентов доступа к данным многие действия выполняются автоматически. Но всем этим надо уметь пользоваться. Кроме того, такие базы на файловом сервере полностью считываются в память компьютера и передаются по сети. Это обязательно, в определенный момент приведет к снижению производительности. Цитата:
|
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Цитата:
На сколько я знаю специфику работы с GEO-пакетом. Большую часть времени пользователи GEO-пакета в своей работе используют 90% программ, которые в процессе своей работы не обращаются к БД. Остальные 10% используются когда отрисовывают границы участка, в этот момент и появляется строка в БД, редактируют ее чаще сразу же, если забыли, что-то внести, в остальное время ее используют только для просмотра данных о том или ином участке. Когда изготавливают какие-нибудь документы из БД в них вставляется определенная информация. например, адрес участка, владелец и т.д. Последний раз редактировалось Andru1968, 11.10.2011 в 08:17. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Если файл выложен в общей доступ - то он блокируется для записи (для всех остальных), во время открытия (на запись) любым пользователем, то есть либо один открыл - остальные покорно ждут, либо постоянно открывай\закрывай (что в сетевой работе означает - скопируй весь файл по сети туда-обратно), причем в промежутке между чтением и записью все опять ждут - иначе конфликт (по простому - записи теряться будут) - короче многопользовательская работа с таким подходом не прокатит - используйте предназначенную для этого БД.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Все это темный лес для меня. Если с LISP я более менее дружу, то с БД никак. Проще говоря нужна готовая БД, состоящая из двух таблиц максимум, одна таблица называется, например, GOROD, другая RAYON, чтобы туда можно было воткнуть ту информацию, которая уже имеется в формате *.dbf
Последний раз редактировалось Andru1968, 11.10.2011 в 12:29. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
А чем Вам поможет "готовая" БД - к ней еще запросы надо оформить, потом еще их в код впендюрить - тут боюсь наскоком не проскочит - учите SQL (диалект не сложный, литературы полно).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Ниже приведу строчки из кода где я использовал SQL-запросы, который у меня работает с baza.mdb на локальной машине.
Код:
Последний раз редактировалось Andru1968, 11.10.2011 в 13:21. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Я тоже так могу
но это не о чем. Мне нужна БД, которую во-первых можно посмотреть, типа запустить Access, открыть файл baza.mdb, открыть таблицу glag и увидеть в столбце "adr_or" "ул. Пушкина, дом 50" и все. Во-вторых в Lisp код вставить SQL-запрос: SELECT id FROM GLAG, INSERT INTO GLAG, UPDATE GLAG SET n_zd = '"n_zd"' WHERE id, DELETE FROM GLAG WHERE id и все. Зачем все эти CREATE TABLE,CREATE VIEW и т.д, если Access позволяет создать БД в два приема, без всяких CREATE. Т.е. нужна программа для создания многопользовательской БД типа Access. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
MS Access создает в БД свои дополительные таблицы для хранения информации о самой БД (отчеты, формы и т.п.). Эти даннае недоступны другим программам (во всяком случае они недокуменированы). Присоединяютсь к Дима_ : Цитата:
|
|||
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Цитата:
Цитата:
На это уйдут годы. А времени в обрез. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ObjectARX. Расчленение и удаление proxy-объектов | Profan | Готовые программы | 293 | 08.04.2024 09:37 |
Разделение работы AutoCAD | AutoCAD Mechanical | PVal | Вертикальные решения на базе AutoCAD | 3 | 23.03.2012 10:16 |
AutoCAD Architecture 2009 стоит ли.. | mey | Вертикальные решения на базе AutoCAD | 25 | 19.04.2009 19:20 |
файл из AutoCAD 2004 сохранить в формат для AutoCAD R14 | acad_newbie | AutoCAD | 12 | 13.10.2008 13:03 |
Уже работаю в AutoCAD 2006, но нужна книжка чтобы знать все тонкости работы с 2D графикой. | Unt0nich | Поиск литературы, чертежей, моделей и прочих материалов | 17 | 06.05.2008 17:58 |