|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
10.12.2008, 08:37 | #1 | |
AutoLisp и база данных SQL-сервера
Регистрация: 10.12.2008
Сообщений: 122
|
||
Просмотров: 21613
|
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Вопрос очень расплывчат, неуказан тип сервера, неизвестно в каком виде хранятся данные в таблицах,
хотя проблема вполне решаема, к примеру представим, что сервер MySQL, находится на локальной машине, на ней установлен ODBC 3.51 Driver имя пользователя root без пароля, посмотри в каком виде вернется результат и дальше строй и ресуй все, что тебе нравится обязательно поблагодари создателей библиотеки ADOLISP_Library, для начала вроде все. Твой код примерно будет выглядеть так: Код:
|
|||
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
Holon, отвечаю тебе на вопрос.
Тип сервера - sql server 2000 (MSDE). В таблице 1-й столбец BUR (data type - nvarchar(6)) - номер, 2-й столбец - YY (data type - float) - координата по Y, 3-й столбец - XX (data type - float) - координата по X, 4-й нам не нужен, и 5-й столбец - GL (data type - float) - глубина (т.е. расстояние от точки (X,Y) до второй точки в линии) Примерно выглядит вот так - BUR YY XX ZZ GL 00001 8014 16761 145 ....... ...... ....... ...... Сервер находится на локальной машине (MAXIM - название сервера) |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
В общем случае:
1. Надо иметь OLEDB Provider для соответствующего SQL-сервера. Для MS SQL это штатная msado15.dll (или более свежая версия). 2. Иметь набор библиотечных функций для работы из VisualLISP с SQL-сервером, путем отправки SQL-запросов. За основу можно взять ADOLisp вот здеся http://acad.fleming-group.com/index.html 3. Написать собственные функции для преобразования данных, полученных из БД в стребуемый вид, например в списки координат для рисования отрезков, полилиний и чего угодно. 4. Здесь не надо делать никакого стороннего приложения - именно из LISP и внутри AutoCAD. А вот редактирование самой БД, с визуальными средствами, может быть сделано и сторонним приложением. Еще лучше - COM-сервером, с которым тот же LISP будет работать. Заодно и координаты в таблицу БД будет легче отправлять. |
|||
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
ShaggyDoc, OLEDB Provider есть, в AutoCad 2007 встроен DbConnect Manager, а вот с третьим проблематично, написать собственные функции для преобразования я не смогу, вот и прошу вас о помощи. В общем то я понимаю как это должно выглядеть, а вот если в частном - не знаю как написать, подскажи хотя бы одну функцию для преобразования, буду благодарен.
|
|||
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Какая проблема создать "Юзверя" с паролем?
Код:
; 21 forms loaded from #<file "U:/LISP/TEST_PRG/ADOLISP_Library.lsp"> ; 3 forms loaded from #<editor "U:/LISP/TEST_PRG/wwp_forum.LSP"> _$ Последний раз редактировалось Holon, 10.12.2008 в 15:22. |
|||
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
Connecting to the database using
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=MAXIM\basa;Initial Catalog=bur31" Connection failed! Visual LISP message Automation Error. Недопустимый атрибут строки подключения Description Недопустимый атрибут строки подключения HelpContext 0 HelpFile NativeError 0 Number -2147467259 SQLState 01S00 Source Microsoft OLE DB Provider for SQL Server Description [DBNETLIB][ConnectionOpen (Connect()).]SQL-сервер не существует, или отсутствует доступ. HelpContext 0 HelpFile NativeError 17 Number -2147467259 SQLState 08001 Source Microsoft OLE DB Provider for SQL Server Description Не удается инициализировать поставщика данных. HelpContext 0 HelpFile NativeError 31 Number -2147467259 SQLState 08001 Source MSDataShape |
|||
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
я переделал строку "Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=MAXIM\\basa;Initial Catalog=bur31" в "Provider=SQLOLEDB.1;Data Source=MAXIM;Initial Catalog=basa". подключение вроде как идет, только не пускает на сервер.
Connecting to the database using "Provider=SQLOLEDB.1;Data Source=MAXIM;Initial Catalog=basa" Connection failed! Visual LISP message Automation Error. Недопустимая спецификация авторизации Description Недопустимая спецификация авторизации HelpContext 0 HelpFile NativeError 0 Number -2147467259 SQLState 28000 Source Microsoft OLE DB Provider for SQL Server |
|||
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
создаю нового пользователя, прописываю, программа пишет
Connecting to the database using "Provider=SQLOLEDB.1;Data Source=MAXIM;Initial Catalog=baza_pgu" Connection failed! Visual LISP message Automation Error. Login failed for user 'GILS'. Reason: Not associated with a trusted SQL Server connection. Description Login failed for user 'GILS'. Reason: Not associated with a trusted SQL Server connection. HelpContext 0 HelpFile NativeError 18452 Number -2147467259 SQLState 42000 Source Microsoft OLE DB Provider for SQL Server |
|||
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
все разобрался, выдает
Connecting to the database using "Provider=SQLOLEDB.1;Data Source=MAXIM;Initial Catalog=basa" Result: succeeded! Inserting a row: "SELECT YY FROM bur31 WHERE ((([BUR]) = 00001));" Result: Succeeded! Disconnecting from the database (("YY") (8014.5)) что дальше делать? |
|||
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
тебе надо поиграться, с учетными записями, и для проверки я надеюсь,что ты
незабываешь вносить в эту строку пользователя и пароль: Код:
не имеет права доступа к этой таблице, видишь вот здесь он ругается: Visual LISP message Automation Error. Login failed for user 'GILS'. Reason: Not associated with a trusted SQL Server connection. |
|||
|
||||
Регистрация: 10.12.2008
Сообщений: 122
|
вывела обе точки:
Connecting to the database using "Provider=SQLOLEDB.1;Data Source=MAXIM;Initial Catalog=basa" Result: succeeded! Inserting a row: "SELECT YY FROM bur31 WHERE ((([BUR]) = 00001));SELECT XX FROM bur31 WHERE ((([BUR]) = 00001));" Result: Succeeded! Disconnecting from the database (("YY") (8014.5)) (("XX") (16761.0)) |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
База данных Лира | Koker | Лира / Лира-САПР | 4 | 28.08.2006 15:47 |
База данных площадей помещений с привязкой к замкн. контуру. | elena_din | AutoCAD | 19 | 19.08.2005 13:40 |
база данных программы Autodesk Building Systems 2005 | Angel80 | Прочее. Программное обеспечение | 3 | 06.10.2004 06:28 |