| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| Schweizer Premium-Anbieter von Flugzeuginnenausstattungen "fliegt" auf Modelsearch (ModelSearch für PTC), ein Anwenderbericht
|
Autor
|
Thema: Lisp und Oracle (1583 / mal gelesen)
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 27. Apr. 2018 09:57 <-- editieren / zitieren --> Unities abgeben:
Hallo an die Spezialisten, gibt es auch aus LISP heraus eine Möglichkeit mich mit unserer Oracle CAD-DAtenbank zu verbinden um Tabelle und so abzufragen? Kann man da jemand eine Hilfestellung geben wie man da vorgehen muss. In Python habe ich das jetzt hinbekommen, aber würde das jetzt gerne auch in LISP machen können. Für Hilfe wäre ich dankbar. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 29. Apr. 2018 17:44 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Etwas Ähnliches habe ich in meiner Zeit bei CoCreate übers .NET-API geschrieben und für eine Demo verwendet. War nicht schwer, in wesentlichen habe ich nur Codebeispiele für VBScript nach Lisp übertragen. [Diese Nachricht wurde von clausb am 29. Apr. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 30. Apr. 2018 13:19 <-- editieren / zitieren --> Unities abgeben:
Danke für deine Antwort clausb, aber ich glaube das hilft mir jetzt nicht wirklich so weiter, dazu müsste ich ja dann wohl wissen wie ich das mit VBScript hin bekomme. Und ich denke ich muss bestimmt auch noch das ein oder andere package von lisp dazuladen damit die sql befehle klappen. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 01. Mai. 2018 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
|
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 01. Mai. 2018 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 01. Mai. 2018 20:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Wolfgang und clausb, danke für den Hinweis mit dem "lsp2sql", aber eine Docu dazu finde ich irgendwie auch nicht richtig, da sind viele Seiten offline. Ich finde euren Einsatz ja lobenswert und habe vollsten Respekt vor eurem Wissen, aber dazu reicht mein Stümper-Programmierwissen nicht aus um damit was anzufangen. Ich probier es morgen mal damit: Diese Zeilen verstehe ich zumindest ungefähr. Code: (use-package :ORACLE)(setf server "orcl") ; ; Change this to your server's SID (oracle:connect "scott" "tiger" server) (oracle:run-sql "SELECT deptno, dname, loc FROM dept ORDER BY DNAME") (oracle:nobiggrin -rows (deptno dname loc) (format t "Dept. no is '~A', " deptno) (format t "Dept. name is '~A', " dname) (format t "Dept. loc is '~A'~%" loc)) (oracle:update-row "dept" "dname = :acctval" '(("dname" "NEWACCT")) '(("acctval" "ACCOUNTING"))) (oracle:run-sql "SELECT deptno, dname, loc FROM dept ORDER BY DNAME") (oracle:nobiggrin -rows (deptno dname loc) (format t "Dept. no is '~A', " deptno) (format t "Dept. name is '~A', " dname) (format t "Dept. loc is '~A'~%" loc)) (oracle:update-row "dept" "dname = :acctval" '(("dname" "ACCOUNTING")) '(("acctval" "NEWACCT")))
------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 CP/M; 6510@0,985249 MHz; 64KB RAM; 20KB ROM; MOS 6569
|
erstellt am: 07. Mai. 2018 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Hallo Peter, ein wirklich sehr interessantes Thema. Hab mich da vor etlicher Zeit auch schon einmal dran versucht und bin damals kläglich gescheitert. Du hast mich da aber nun auf eine wunderbare Idee gebracht Zitat: In Python habe ich das jetzt hinbekommen
Denn in Python habe ich es mit dem Modul cx_Oracle auch problemlos ans laufen gebracht. Nun habe ich aus Lisp heraus einen Aufruf auf mein Python Script geschrieben und TADA man hat die Möglichkeit SQL Statements aus Lisp heraus auszuführen. Ist mit Sicherheit alles andere als schön und die Performance wird auch zu wünschen übrig lassen, aber sollte es dennoch jemand gebrauchen können, die Scripte sind im Anhang. Voraussetzung ist die Installation von Python und des entsprechenden cx_Oracle Moduls. Der Pfad der Variablen (*python-path*) zur python.exe muss in Zeile 6 des oracle_sql.lsp eventuell angepasst werden. Für Verbesserungsvorschläge bin ich wie immer jeder Zeit dankbar. Ansonsten gilt das gleiche wie immer: Alles ohne Gewähr und viel Spaß damit. Gruß Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 08. Mai. 2018 19:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Alex, ich weiß noch nicht ganz was ich mit deinem Beispiel anfange, aber danke das du deinen Code bereitgestellt hast. ich erkenne nicht was du über Python genau machst, aber ich gehe über sqlalchemy in die Datenbank. Von local auf Server dauert echt ein paar Sekunden, aber wenn ich habe eine Ordnerüberwachung auf dem Server laufen der dann abfragt wenn was in den Ordner kommt, das ist eigentlich ziemlich schnell. Muss mich langsam heran tasten. Wenn du mir etwas näher beschreibst was du vor hast... vielleicht kann ich dir auch helfen. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 CP/M; 6510@0,985249 MHz; 64KB RAM; 20KB ROM; MOS 6569
|
erstellt am: 11. Mai. 2018 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Hallo Peter, ich wollte eigentlich nur meine Lösung zu dem Thema SQL-Statements aus Lisp heraus aufzurufen bereitstellen. Das Python Script wird aus Lisp heraus aufgerufen. Es stellt dann eine Datenbankverbindung her und gibt das Ergebnis (z.B. einer Query) wieder an das Lisp zurück. So lassen sich dann zum Beispiel aus Lisp heraus "direkt" SQL-Statements auf einer Orcale Datenbank ausführen. Gruß, Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |