Domanda

Sto cercando di ottenere informazioni da un db incorporato chiamato NexusDB usando java.

Alternativa 1:

Ho letto nel sito Web NexusDB che è un driver ODBC, quindi potrei usarlo con unixODBC. Quindi ho bisogno di fare un ponte JDBC-ODBC come indicato qui .

Alternativa 2:

Ottieni una sorta di applicazione per migrare il db NexusDB su un altro db. Vorrei conoscerne uno.

Vorrei sapere se qualcuno mai questo, qual è la soluzione migliore?

Grazie per aver letto.

È stato utile?

Soluzione

Alternativa 1:

Non possibile.

unixODBC necessita di driver linux e non ce ne sono per nexusDB.

Alternativa 2:

Non ne ho trovato nessuno.

Soluzione finora

Scrivere un piccolo servizio web con delphi o ottenere odbc e usarlo in un piccolo proxy. In altre parole, invece di connettersi al server nexusdb, ci si connette a un'applicazione dedicata o il servizio Web trasmette le informazioni e quell'app si connette a nexusd e scrive i dati.

Altri suggerimenti

Ho avuto un certo successo con NexusDB sotto il vino.

Sono stato in grado di impostare un WINEPREFIX, seguire le istruzioni qui per accedere al pannello di gestione odbc di wine (per impostazione predefinita viene convogliato in unixODBC e, come notato da Macarse, è un vicolo cieco), imposta lì un DSN e verifica che possa accedere ai dati.

La prossima cosa che ho provato è stata l'installazione di win32 PHP e la scrittura di un test rapido e sporco usando odbc_connect. Dopo aver perso un bel po 'di tempo usando accidentalmente il binario php di linux e chiedendomi perché non potesse usare la funzione (integrata su SOLO win32) odbc_connect, l'ho fatto funzionare.

SUGGERIMENTO: per salvarti la sensazione di sbattere la testa contro un muro di mattoni, ricorda che qualsiasi tentativo di eseguire script php in questo ambiente DEVE assomigliare a questo

WINEPREFIX = / home / you / yourprefix wine php c: \ phptest.php

NON

WINEPREFIX = / home / you / yourprefix php c: \ phptest.php

La seconda versione utilizzerà il binario php di linux. Sentirsi piuttosto stupido dopo aver eseguito la seconda versione una buona dozzina di volte E cercare un po 'di errore prima di rendersi conto di ciò che era sbagliato - Penso che dovrei alzarmi più tardi se voglio essere in grado di far funzionare ancora le cose alle 4 :(

(il percorso c: \ negli esempi precedenti può essere passato come / home / you / yourprefix / drive_c / qualunque cosa se preferisci - anche i percorsi relativi vanno bene)

E sì, so che questo è un post necro, ma è una situazione piuttosto di nicchia, non ci sono molte informazioni là fuori che rendono nexusdb e odbc divertenti su Linux, e se queste informazioni fossero disponibili per me mesi fa, quando cercavo su Google e mi sono imbattuto in questa discussione, mi avrebbe fatto risparmiare un bel po 'di tempo. Spero che qualcun altro lo trovi utile.

Se ti connetti a Nexus tramite .NET, forse puoi usare IKVM per eseguire la tua app Java e connetterti tramite l'API .NET?

Altrimenti penso che la tua soluzione "finora" " suona bene.

Best Anders

Dal momento che è incorporato (e probabilmente hai pieno accesso al computer), che ne dici di copiare i file di database su un sistema Windows, configurare NexusDB e il suo driver ODBC, quindi usare un bridge ODBC-JDBC su quel computer? Una volta che il bridge è in esecuzione, puoi impostare un nuovo DBMS compatibile con JDBC a tua scelta, connetterti e utilizzare un piccolo codice per SELEZIONARE da NexusDB e inserirlo nel tuo nuovo database.

Se stai cercando di migrare verso un altro DBMS incorporato, sto usando H2 Database per Java, e devo dire che è davvero dolce. Entrambe le modalità incorporate e client / server, multipiattaforma e molto veloci per qualsiasi cosa sotto le righe 1M. Supporta praticamente tutte le funzionalità che avresti in un DBMS incorporato e poi alcune.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top