Automatisatie Oracle SQL Developer DB doc

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Eigenlijk kon dit ook in het CSA topic geplaatst worden maar ik denk dat de kennis eerder in deze thread te vinden is.

Voor een developer moet ik de DB Documentatie automatiseren via Oracle SQL Developer. Dat programma biedt een hele mooie methode aan, maar helaas enkel via GUI en in een java-interface. Via de command line is dat niet te doen, zo blijkt uit verschillende posts op het internet: sdcli.exe heeft maar een beperkte set parameters.

Automatiseren van een GUI-programma staat bovenaan op mijn lijstje met ongewenste opdrachten. Het is inefficient, lelijk en error-prone. Bekende tools zoals AutoIT hebben dan ook nog problemen met java forms (i.t.t. Windows forms). Zo ook bij mij: ik kan niet betrouwbaar klikken met mijn script.

Tussenoplossing: alles met pijltjestoetsen, tabs en hotkeys. Spijtig genoeg krijg ik de focus niet in het DB-verbindingsveld met de pijltjestoetsen, of toch niet op een conistente manier. Mijn beste plan tot nu toe was om de verbinding elke keer opnieuw aan te maken (dat kan met Alt-N) en vermoedelijk zou de focus dan meteen in het juiste pane zijn. Test: nee, de focus blijft ergens op de main form.

Zucht. Zoveel mensen zullen er op GoT niet rondlopen die met Oracle SQL Developer werken en identiek hetzelfde probleem gehad hebben, maar als ze ergens zitten is het hier in programming zonder twijfel.

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Oplossing gevonden met pijltjes toetsen en veel, véél pause tussen elke stap om een consistent resultaat te krijgen. Als iemand ooit hetzelfde nodig heeft: het is lelijk en ik schaam mij er voor, maar dit was de enige manier waarop het lukte.

AutoIt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
By YellowOnline, 19/10/2015
Func _WinWaitActivate($title,$text,$timeout=0)
    WinWait($title,$text,$timeout)
    If Not WinActive($title,$text) Then WinActivate($title,$text)
    WinWaitActive($title,$text,$timeout)
EndFunc

#PART I: SQL Developer
#Get the mouse out of our way or it will interfere
MouseMove(0,0)
#Run sqldeveloper.exe
Run( "C:\SQLDeveloper\sqldeveloper.exe", "C:\SQLDeveloper")
#SQL Developer opens
_WinWaitActivate("Oracle SQL Developer","")
#Go to <the DB> and expand <the DB> (connects at the same time with saved credentials)
Sleep(5000)
Send("{ALTDOWN}d{ALTUP}")
Sleep(5000)
Send("{RIGHT}")
Sleep(1000)
Send("{RIGHT}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{RIGHT}")
Sleep(10000)
#Here we lose focus and we have to go back...
Send("{ALTDOWN}d{ALTUP}")
Sleep(1000)
Send("{RIGHT}")
Sleep(1000)
Send("{RIGHT}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
#Go to "Generate DB doc"
Send("{APPSKEY}")
Sleep(5000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{ENTER}")
_WinWaitActivate("DB-Dokumente generieren","")
#Enter save path
## [Better a few backspaces too much... need to be sure to have deleted the default path]
Send("{SHIFTDOWN}{END}{SHIFTUP}{TAB}{BACKSPACE 30}C:\DBDocuments{TAB}{TAB}")
#Select columns to add
Send("{DOWN}{ENTER}{DOWN 3}{ENTER}{DOWN}{ENTER}{DOWN}{ENTER}")
#Select columns to remove
##[More Page Ups than necessary just to be on the safe side, cf. backspace in an earlier comment...]
Send("{TAB 5}{PGUP 5}{DOWN 2}{DOWN}{ENTER}")
#Select OK
Send("{TAB 9}{ENTER}")
Sleep(900000)


:r

PS. Lijn 98 moet een F zijn in het Engels (File ipv. Datei).

Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 12-10 11:24
Wow! Lappen Auto-scripts hierzo ;)

Wat ik niet begrijp is "DB Documentatie automatiseren". Waarom wil je dat uberhaupt?

SQLDeveloper is geen moeilijk programma, dat moet toch gewoon uit te leggen zijn? Eventueel met de Problem Steps recorder ofzo...

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Cor453 schreef op dinsdag 20 oktober 2015 @ 23:40:
Wow! Lappen Auto-scripts hierzo ;)

Wat ik niet begrijp is "DB Documentatie automatiseren". Waarom wil je dat uberhaupt?

SQLDeveloper is geen moeilijk programma, dat moet toch gewoon uit te leggen zijn? Eventueel met de Problem Steps recorder ofzo...
Als ik per lijn betaald zou worden, dan was dit een leuk geval :+

Wat de devver in kwestie wil is dat op een VM ergens elke dag om middernacht nieuwe documentatie gegenereerd wordt (en er komt nog meer bij te zien buiten Oracle SQL Developer om, maar die code ontbreekt hier wegens niet relevant).

Niet dat het al helemaal in orde is: ik heb nog steeds geen consistent resultaat. Af en toe doet hij een pijltjestoets teveel :(

[ Voor 8% gewijzigd door YellowOnline op 21-10-2015 09:35 ]


Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 12-10 11:24
YellowOnline schreef op woensdag 21 oktober 2015 @ 09:32:
[...]


Als ik per lijn betaald zou worden, dan was dit een leuk geval :+

Wat de devver in kwestie wil is dat op een VM ergens elke dag om middernacht nieuwe documentatie gegenereerd wordt (en er komt nog meer bij te zien buiten Oracle SQL Developer om, maar die code ontbreekt hier wegens niet relevant).

Niet dat het al helemaal in orde is: ik heb nog steeds geen consistent resultaat. Af en toe doet hij een pijltjestoets teveel :(
Waarom wil je dat in vredesnaam via SQL Developer doen? Dat klinkt echt als een slecht idee. Maar ik begrijp dus dat je een aantal commando's wil draaien op de Oracle server? Kun je geen package brouwen die dat doet?

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Cor453 schreef op woensdag 21 oktober 2015 @ 10:30:
[...]


Waarom wil je dat in vredesnaam via SQL Developer doen? Dat klinkt echt als een slecht idee. Maar ik begrijp dus dat je een aantal commando's wil draaien op de Oracle server? Kun je geen package brouwen die dat doet?
Oracle SQL Developer heeft een blijkbaar uitstekende feature die DB Documentatie aanmaakt in HTML. En dat is wat hij wil. Ziet er zo uit:

Afbeeldingslocatie: http://www.thatjeffsmith.com/wp-content/uploads/2013/08/dbdoc4_2.png

Zelf heb ik liefst zo weinig mogelijk te doen met Oracle en Java trouwens.

Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 12-10 11:24

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Neen - daar kan enkel een eenvoudig rapportje aangemaakt worden, niet de hele documentatie. Ik hoopte dat de CLI dat ook kon maar helaas niet. Op de blogs van de Oracle-mensen las ik enkel dat ze overwegen die functionaliteit ooit te brengen, maar beloven doen ze niet.

Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 12-10 11:24
YellowOnline schreef op woensdag 21 oktober 2015 @ 10:58:
[...]


Neen - daar kan enkel een eenvoudig rapportje aangemaakt worden, niet de hele documentatie. Ik hoopte dat de CLI dat ook kon maar helaas niet. Op de blogs van de Oracle-mensen las ik enkel dat ze overwegen die functionaliteit ooit te brengen, maar beloven doen ze niet.
Ik denk niet dat het handig is om gebruik te maken van zo'n "brakke" frontend GUI implementatie. Misschien kun je een appje schrijven die hetzelfde bereikt, maar dan op de nette manier (gewoon de database benaderen?)

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Cor453 schreef op woensdag 21 oktober 2015 @ 15:37:
[...]


Ik denk niet dat het handig is om gebruik te maken van zo'n "brakke" frontend GUI implementatie. Misschien kun je een appje schrijven die hetzelfde bereikt, maar dan op de nette manier (gewoon de database benaderen?)
Ik weet helemaal niets van Oracle - zoiets zou hij zelf moeten schrijven, maar gezien deze rotklus denk ik niet dat hij daar zin in heeft :)

Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 12-10 11:24
YellowOnline schreef op woensdag 21 oktober 2015 @ 16:40:
[...]


Ik weet helemaal niets van Oracle - zoiets zou hij zelf moeten schrijven, maar gezien deze rotklus denk ik niet dat hij daar zin in heeft :)
Als ik eerlijk ben zou ik hiermee stoppen. Dit gaat volgens mij nooit stabiel werken, en er is ook geen enkele reden om dit op deze manier te doen. Met respect voor je effort, hij zal toch echt iets beters moeten vinden.

Ik heb het vandaag zitten proberen in SQL Developer... ik zie geen manier om dit op een nette manier te automatiseren.

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Cor453 schreef op woensdag 21 oktober 2015 @ 18:27:
[...]


Als ik eerlijk ben zou ik hiermee stoppen. Dit gaat volgens mij nooit stabiel werken, en er is ook geen enkele reden om dit op deze manier te doen. Met respect voor je effort, hij zal toch echt iets beters moeten vinden.

Ik heb het vandaag zitten proberen in SQL Developer... ik zie geen manier om dit op een nette manier te automatiseren.
Wel 't is gelukt met bovenstaande autoitscript. 't Werkt wel enkel als de look & feel op Windows staat ipv. op Oracle. Ik heb ook geen keuze hé als een klant zegt "je moet X doen" (en 't is bovendien de zoon van de CEO van onze belangrijkste klant ;))

Maar neen, net is het niet. 't Is zelfs verschrikkelijk.

[ Voor 4% gewijzigd door YellowOnline op 21-10-2015 19:17 ]


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 11:25

The Eagle

I wear my sunglasses at night

Als ik dat screenshot zie dan is er ook een tabje code. Volgens mij staat daarin de code die afgetrapt wordt om het rapport te genereren. Als je die naar sqlplus command line kunt parsen (en dat kan gewoon, code opslaan in een .sql bestand en dan sqlplus user/pass@dbnaam script.sql ingeven) dan ben je er volgens mij ook :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
The Eagle schreef op woensdag 21 oktober 2015 @ 19:32:
Als ik dat screenshot zie dan is er ook een tabje code. Volgens mij staat daarin de code die afgetrapt wordt om het rapport te genereren. Als je die naar sqlplus command line kunt parsen (en dat kan gewoon, code opslaan in een .sql bestand en dan sqlplus user/pass@dbnaam script.sql ingeven) dan ben je er volgens mij ook :)
Interessant idee. Ik betwijfel dat dàt de code is die daar zal staan, maar ik kijk het morgen eens na.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
YellowOnline schreef op woensdag 21 oktober 2015 @ 19:16:
[...]
Wel 't is gelukt met bovenstaande autoitscript. 't Werkt wel enkel als de look & feel op Windows staat ipv. op Oracle. Ik heb ook geen keuze hé als een klant zegt "je moet X doen" (en 't is bovendien de zoon van de CEO van onze belangrijkste klant ;))

Maar neen, net is het niet. 't Is zelfs verschrikkelijk.
Je hebt altijd een keuze en ik zou hier zeggen : Nee, bedankt.

Dit is een recipe for disaster, het is nu enkel nog maar wachten tot het fout gaat en dan is het jouw schuld en dan heeft het spoed en moet het nu gefixed worden etc. etc.

Waarschijnlijk wordt er over 2 maanden een extra achtergrond programma op die pc gezet en dan zijn je timings off (tenminste zo af en toe, soms gaat het wel weer goed) en dan krijg jij een telefoontje.
Dan weer 2 maanden verder is er weer een extra achtergrond programma bijgezet en kan je weer opnieuw gaan en ondertussen vraagt de klant zich af waarom het toch steeds maar stuk gaat.
Dan weer 2 maanden later gaat er een nieuwe java versie op en gaat het script stuk.
Dan gaat er een nieuw windows thema op et voila, weer broken.
Dan gaat het hele bedrijf over naar windows 10 et voila, weer broken
Ondertussen is er wellicht een nieuwe versie van sql developer uitgekomen en is het weer broken.

Dan wordt er weer een task gescheduled die periodiek een cmd-prompt in beeld gooit en daarmee je script overhoop gooit.
Dan blijkt er dat het soms niet werkt maar soms wel, en dan blijkt dat de schoonmaakster de muis wel eens verplaatst.

And the list goes on and on en elke keer wordt de klant verbaasder dat het toch telkens stuk gaat.

Je zou het script al iets stabieler kunnen maken door bijv na elke wait een _WinWaitActivate("Oracle SQL Developer","") te gooien zodat de kans in ieder groter is dat je je toetsen naar het juiste venster gooit ipv dat je eenmalig het venster opzoekt en dan gewoon een half uur maar hoopt dat het venster actief blijft.

Maar in principe had ik er gewoon voor bedankt en gezegd laat het zoontje het zelf maar maken, het is technisch wel te maken maar niet betrouwbaar.

Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 11:25

The Eagle

I wear my sunglasses at night

YellowOnline schreef op woensdag 21 oktober 2015 @ 20:06:
[...]


Interessant idee. Ik betwijfel dat dàt de code is die daar zal staan, maar ik kijk het morgen eens na.
Ben serieus benieuwd wat je probeert te runnen. Kun je de code anders eens posten? :)
Als het een bestaand package is wat je opent in sqldeveloper is het in de DB opgeslagen en moet je het met SQLplus ook af kunnen trappen. Als het direct execute van een lap PL/SQL code is, ook. Alleen de output moet ergens naartoe geschreven worden lijkt me, en de vraag is waar :)

Edit: overigens kan ik je morgen overdag niet helpen, nieuwe baan is het niet handig om tijdens werk te GoT'en en bovendien te druk voor. Morgen even een paar Oracle DB's migreren naar een RAC cluster, zin in :)

[ Voor 15% gewijzigd door The Eagle op 21-10-2015 21:26 ]

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Gomez12 schreef op woensdag 21 oktober 2015 @ 21:08:
[...]

Je hebt altijd een keuze en ik zou hier zeggen : Nee, bedankt.
Geen idee waar jij werkt, maar laat duidelijk zijn dat ik geen keuze heb tenzij ik mijn job wil verliezen.
Dit is een recipe for disaster, [...]
Ja, betrouwbaar is het niet, al moet ik wel zeggen dat het een dedicated VM is waar enkel ik toegang tot heb, dus komen er geen onverwachte updates of programma's.
Je zou het script al iets stabieler kunnen maken door bijv na elke wait een _WinWaitActivate("Oracle SQL Developer","") te gooien zodat de kans in ieder groter is dat je je toetsen naar het juiste venster gooit ipv dat je eenmalig het venster opzoekt en dan gewoon een half uur maar hoopt dat het venster actief blijft.
[...]
_WinWaitActivate werkt meer niet dan wel in Oracle forms :/

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
YellowOnline schreef op woensdag 21 oktober 2015 @ 22:07:
[...]
Geen idee waar jij werkt, maar laat duidelijk zijn dat ik geen keuze heb tenzij ik mijn job wil verliezen.
Geen idee waar jij werkt, maar als ik tegen mijn baas zeg dat iets niet gaat dan gaat het ook gewoon niet.
Dan plannen ze het maar om naar een wekelijkse export en krijgt de secretaresse er een vrijdag middag taak bij.
Of er wordt een degelijk project van gemaakt met een budget van xx.xxx euro zodat een programmeur er x maanden aan kan werken en het betrouwbaar kan maken door de hele rapportage in een custom iets te gieten.

Mijn baas heeft wel vertrouwen in mijn oordeel :X
Serieus, als ik voor het weigeren van een opdracht voor mijn job moet vrezen dan zou ik al aan het solliciteren zijn, want deze implementatie gaat ergens in de toekomst falen dat weet ik en dat weet jij en de klant is alle waarschuwingen vergeten en je baas krijgt alleen te horen dat wat jij gebouwd hebt niet werkt en dan ben je ook je job kwijt.
[...]
_WinWaitActivate werkt meer niet dan wel in Oracle forms :/
Ach, dan schrijf je toch gewoon aan het einde van je autoit iets naar een bestandje met als naam de dag van vandaag en dan aan het begin checken of dat bestandje er is, zoja dan exit.
Dan kan je het rustig nog 300x achter elkaar in de task scheduler knallen, heb je ook weer het onbetrouwbare begin opgevangen. 8)7

Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 12-10 11:24
Eerlijk gezegd snap ik niet waarom je de discussie met TS aangaat over of hij wel of geen keus heeft. Feit blijft dat er een ding gegenereerd moet worden, dus linksom of rechtsom: TS heeft een punt daarin.

Ja het is dirty, maar ik geloof ook dat er geen command is wat je buiten SQL developer om kan draaien waar je ditzelfde mee kunt doen.

Ik zal morgen onze DBA eens aanschieten. Kijken of die ideeën heeft. Keep you posted.

Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 12-10 11:24
YellowOnline schreef op woensdag 21 oktober 2015 @ 22:07:

Ja, betrouwbaar is het niet, al moet ik wel zeggen dat het een dedicated VM is waar enkel ik toegang tot heb, dus komen er geen onverwachte updates of programma's.
Ik heb even met onze DBA gesproken, en we zijn tot de conclusie gekomen dat het wel buiten de GUI van SQL Developer te doen moet zijn. Er zal ergens een jar zijn in je sqldeveloper folder waar je dit mee kunt.

We hebben nog even gezocht, maar we konden zo snel niet vinden hoe het moet werken. Alleen: het is totaal niet a la Oracle om zoiets alleen in een GUI te stoppen.

Succes met je zoektocht, en omdat je mijn interesse nu stiekem ook wel hebt gewekt ga ik er ook nog even naar neuzen.

Acties:
  • 0 Henk 'm!

  • itons
  • Registratie: Oktober 2003
  • Niet online
DbDoc is gebaseerd op pldoc. http://pldoc.sourceforge.net/maven-site/
Lijkt er aardig veel op, iets minder gelikt. Wel makkelijk te automatiseren vanaf CLI.

Acties:
  • 0 Henk 'm!

  • terje7601
  • Registratie: September 2009
  • Laatst online: 08-02-2024
Cor453 schreef op donderdag 22 oktober 2015 @ 09:55:
Ik heb even met onze DBA gesproken, en we zijn tot de conclusie gekomen dat het wel buiten de GUI van SQL Developer te doen moet zijn. Er zal ergens een jar zijn in je sqldeveloper folder waar je dit mee kunt.
De jar in kwestie is ...\sqldeveloper\sqldeveloper\extensions\oracle.sqldeveloper.jar en de class is oracle.dbtools.raptor.oviewer.base.ConnectionExportTask

Het zou dus mogelijk moeten zijn met iets als
Java:
1
new ConnectionExportTask(paramString, paramFile, paramDBObject).doWork();


paramString lijkt niet van belang en paramFile is de output directory, dus de moeilijkheid zal vooral liggen in het creëren van paramDBObject

PS: je kan de jars bekijken met iets als JD-GUI
Pagina: 1