[JAVA] JNI externe dll inladen

Pagina: 1
Acties:

  • Mamphiz
  • Registratie: Maart 2001
  • Laatst online: 15-03 21:25
Beste tweakers,

ik ga een webshop opstarten, die maak ik in php. Nu heb ik een administratiepakket, deze is gemaakt in (denk ik) c++ en communiceert met een msaccess database. Mijn php webshop met een mySQL database.
Ik kan (helaas) de msaccess database niet met php uitlezen, deze is beveiligt.
Het is ook zo dat de webshop op een externe server staat en de applicatie lokaal draait.

Er is voor het administratiepakket wel een gateway beschikbaar, maar deze kan ik niet uitlezen met php.
Nu zijn er enkele opties:

- Een java applicatie (met JNI) maken en deze laten communiceren met php
- Een ASP.net applicatie maken en deze laten communiceren met de mySQL database.
- Iets anders

Ik ben zelf redelijk thuis in java, maar totaal niet in JNI. ASP.net ligt me al helemaal niet en wil ik liever ook niet aan beginnen.

Mijn vraag: Hoe moet ik het aanpakken met java en jni? ik heb alleen een gateway.dll en das alles (ja een help file). Het administratiebedrijf levert geen support dus dat kan ik ook vergeten.

Ik heb op google gezocht naar jni maar zie eigenlijk door de bomen het bos niet meer.
Kan iemand mij de goede richting op sturen of heeft iemand anders een betere oplossing (administratiepakket blijft en ook de php-website ;) )

alvast enorm bedankt!

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 03:55

Nick_S

++?????++ Out of Cheese Error

Mamphiz schreef op donderdag 08 december 2005 @ 17:04:
- Een java applicatie (met JNI) maken en deze laten communiceren met php
- Een ASP.net applicatie maken en deze laten communiceren met de mySQL database.
- Iets anders
Ff hussellen en:

Een java applicatie en deze laten communiceren met de mySQL database.

Of is dat geen optie?

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


  • Mamphiz
  • Registratie: Maart 2001
  • Laatst online: 15-03 21:25
Ja dat is zeker wel een optie, maar dan kom ik nog steeds bij JNI waarvan ik echt niks snap... er staan zooo veel artikelen op internet. Sommige gaan over C++ met java en java met c++ en het wordt me niet echt duidelijk welke tutorial of code nou bedoelt is voor een c++ dll in een java prog.

Verder zie ik soms dat ik een .h file nodig heb, maar die heb ik niet (of is dat niet relevant?)

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 03:55

Nick_S

++?????++ Out of Cheese Error

Heb wel een beetje met JNI gedaan.

Je moet er eerst voor zorgen dat je een C++ library maakt, die de gateway.dll functies kan aanspreken, die je nodig hebt.

Daarna kun je in je C++ file JNI headers gaan toevoegen, waardoor de JVM hem als Java Native herkend.

Deze functies kun je dan declareren in een Java class als native, zodat je ze kan gebruiken. Je moet alleen zorgen, dat je eigen C++ library gevonden word door de JVM. (Bijvoorbeeld via je LD_LIBRARY_PATH op unix/linux, maar dit moet onder windows ook wel te doen zijn.

Als je nog specifiekere vragen hebt, kom maar! (Ik ben niet zo'n ster in C++, die libraries had ik toen namelijk al)

edit: Ik vergeet altijd om even een relevante link met veel info te plaatsen: http://java.sun.com/docs/books/tutorial/native1.1/index.html

[ Voor 11% gewijzigd door Nick_S op 08-12-2005 17:46 ]

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


  • Mamphiz
  • Registratie: Maart 2001
  • Laatst online: 15-03 21:25
Thanks! maar vraag gaat dus wel over de c++ libs, want hoe moet ik die maken? zelf coden?

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 03:55

Nick_S

++?????++ Out of Cheese Error

Aangezien je je JNI headers niet aan die gateway.dll kan toevoegen, zul je inderdaad een tussenlaag moeten maken, die deze functies beschikbaar stelt.

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


  • Mamphiz
  • Registratie: Maart 2001
  • Laatst online: 15-03 21:25
Kan ik die c++ file schrijven in java en met javah.exe compileren...?? of moet ik echt een c++ editor opstarten en c++ gaan kloppen?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21-04 20:19

Robtimus

me Robtimus no like you

Is het niet mogelijk om met Java wel die Access database uit te lezen? Dus Java direct met beide databases laten communiceren.

Driver Class: sun.jdbc.odbc.JdbcOdbcDriver
Connection String: jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ= gevolgd door de Access filename. Dan als je de Connection aanmaakt de username en password opgeven.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21-04 20:19

Robtimus

me Robtimus no like you

Mamphiz schreef op donderdag 08 december 2005 @ 17:58:
Kan ik die c++ file schrijven in java en met javah.exe compileren...?? of moet ik echt een c++ editor opstarten en c++ gaan kloppen?
Oh en javah.exe geeft je alleen de headers (.h) file terug, de C++ implementatie zul je zelf moeten schrijven. Hoewel dat mogelijk alleen een aanroep is van al bestaande classes.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21-04 22:35

Creepy

Tactical Espionage Splatterer

ff in het kort: je wilt een PHP app een MS Access DB laten benaderen. Eventueel kan je bij je data door gebruik te maken van een dll. Ok, prima. Wat moet je dan ineens met java?

Overigens stelt wachtwoord beveiliging van een Access DB echt helemaal niks voor. Je kan relatief simpel het wachtwoord uitlezen. Hoe dat moet is prima te vinden met google ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Mamphiz
  • Registratie: Maart 2001
  • Laatst online: 15-03 21:25
Bedankt iedereen voor de reactie. Ik zal eens gaan kijken of ik het wachtwoord kan uitlezen van de msaccess database. Eens googlen ;)

Als iemand een linkje heeft, vind ik het ook best, zal mijn bevindingen posten.

Bedankt voor de reacties en suggesties.
Pagina: 1