Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Lisp und Oracle

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
Autor Thema:  Lisp und Oracle (1511 / mal gelesen)
Greskamp
Mitglied
Ingenieur


Sehen Sie sich das Profil von Greskamp an!   Senden Sie eine Private Message an Greskamp  Schreiben Sie einen Gästebucheintrag für Greskamp

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 27. Apr. 2018 09:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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.



Sehen Sie sich das Profil von clausb an!   Senden Sie eine Private Message an clausb  Schreiben Sie einen Gästebucheintrag für clausb

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Greskamp 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Greskamp an!   Senden Sie eine Private Message an Greskamp  Schreiben Sie einen Gästebucheintrag für Greskamp

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 30. Apr. 2018 13:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 01. Mai. 2018 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Greskamp 10 Unities + Antwort hilfreich

Code:
(in-package :the-peter)
(use-package :lsp2sql)

geht nicht?

nutz ==> das was?

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

clausb
Ehrenmitglied V.I.P. h.c.



Sehen Sie sich das Profil von clausb an!   Senden Sie eine Private Message an clausb  Schreiben Sie einen Gästebucheintrag für clausb

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Greskamp 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Greskamp:
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.


Du musst nichts hinzuladen. Alles, was Du dazu brauchst, ist bereits eingebaut, nämlich das COM/.NET-API, das man von Lisp aus verwenden kann. Beispiele wie das unter http://www.clausbrod.de/cgi-bin/view.pl/CoCreateModeling/TextFromAndToClipboard demonstrieren, wie man beliebige COM-Komponenten aus Lisp heraus benutzt. In Deinem Fall wären es dann ADODB-Komponenten, die Du aus Lisp via COM benutzen kannst.

------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ - Blog: http://www.clausbrod.de/Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Greskamp
Mitglied
Ingenieur


Sehen Sie sich das Profil von Greskamp an!   Senden Sie eine Private Message an Greskamp  Schreiben Sie einen Gästebucheintrag für Greskamp

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 01. Mai. 2018 20:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von AlexG an!   Senden Sie eine Private Message an AlexG  Schreiben Sie einen Gästebucheintrag für AlexG

Beiträge: 132
Registriert: 05.04.2013

CP/M; 6510@0,985249 MHz; 64KB RAM; 20KB ROM; MOS 6569

erstellt am: 07. Mai. 2018 10:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Greskamp 10 Unities + Antwort hilfreich


oracle_sql.lsp


oracle_sql.py.txt

 
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


Sehen Sie sich das Profil von Greskamp an!   Senden Sie eine Private Message an Greskamp  Schreiben Sie einen Gästebucheintrag für Greskamp

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 08. Mai. 2018 19:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von AlexG an!   Senden Sie eine Private Message an AlexG  Schreiben Sie einen Gästebucheintrag für AlexG

Beiträge: 132
Registriert: 05.04.2013

CP/M; 6510@0,985249 MHz; 64KB RAM; 20KB ROM; MOS 6569

erstellt am: 11. Mai. 2018 16:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Greskamp 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz