Problema con "C" e access

di il
8 risposte

Problema con "C" e access

Ciao a tutti.

Non riesco a trovare nessuna libreria che mi permetta di interfacciare un file .mdb di access da c standard. Chi mi può dare una mano o delle indicazioni in merito? Avrei la necessità di effettuare tramite l'utilizzo di librerie "C" (eventualmente), tutte le operazioni che si effettuano con il linguaggio sq: update, inser,delete ecc. ecc.

Grazie a tutti per l'eventuale contributo e.... a buon rendere.

8 Risposte

  • Re: Problema con "C" e access

    Il macello è che usi il C e non il C++ e tutte le librerie di accesso ad Access probabilmente si espongo sotto forma di classi a oggetto come è lecito aspettarsi da componenti come ADO/OLE-DB o DAO.
    http://www.soft-land.org/cgi-bin/doc.pl?doc=articoli/daomfc
    http://www.sastgroup.com/tutorials/interagire-con-un-database-access-con-c

    Altro discorso se ci passi da ODBC, essendo quest'ultimo vecchiotto e pensato per il C dovrebbe essere più "consono" usarlo ma ti avverto non è una passeggiata e le performance non saranno granché.
  • Re: Problema con "C" e access

    Hai provato ad utilizzare l'oggetto DAO ?

    E' che dovrai lavorare con il tipo VARIANT, all'inizio è un po' complessa la faccenda, dovrai costruirti le routine di interfacciamento.
  • Re: Problema con "C" e access

    Grazie ragazzi. Mi avete confermato che la strada che va dal c standard per interagire con componenti tipo il DAO per leggere file .mdb e’ alquanto ostica. Il mio obiettivo comunque è quello di permettere al nostro gestionale (almeno per alcuni programmi), di scrivere ed interagire oltre che con file di tipo ISAM (cosa che già fa), anche con file di tipo mdb, per rendere i dati disponibili anche su ACCESS o simili. A questo punto stavo pensando ad un'altra soluzione: lancerei da un programma scritto in c standard un programma in c++ che diventerebbe un oggetto che con dei parametri in ingresso effettuerebbe la scrittura/lettura/cancellazione/ecc. su file .mdb. E’ una strada percorribile secondo voi? Avete altri suggerimenti eventualmente?

    Grazie e buona giornata a tutti.
  • Re: Problema con "C" e access

    Tutto di pende da quanto C è esposto alla faccenda, perché se hai possibilità di compilare C++ puoi tranquillamente richiamare un modulo C++ che svolga il tuo compito, al massimo ricompilare le porzioni di accesso all'archivio iniettando del C++ dove serve. La soluzione ideale e pulita è quella di esternalizzare tutto l'accesso all'archivio tramite routine specifiche anziché mettere in "chiaro" le read/write dentro i sorgenti C che si occupano della logica del programma (vedi applicazioni 3-tier o il modello addirittura il pattern MVC). E' un lavorone ma alla fine ripaga. l'ho fatto secoli fa in BASIC, l'ho fatto in COBOL, l'ho fatto in VB: nascondere gli accessi "proprietari" tramite routine indipendenti; ottenendo lo svincolo dal supporto di archiviazione (oggi VSAM, domani DB2, XML, più soluzioni in parallelo, ecc...).

    Altra soluzione che dipende però dalla struttura che avete e dal tasso di aggiornamento dell'archivio mdb rispetto a quello ISAM è la sincronizzazione offerta da MsAccess nei confronti di una fonte dati ISAM, visto che se non sbaglio Access può accedere automaticamente via ODBC ad archivi ISAM.
  • Re: Problema con "C" e access

    Grazie chip. Sei stato chiaro e forte, ma allo stato in cui si trova attualmente il gestionale, penso proprio che mi convenga costruire un prgramma in c++ che effettua le operazioni sui file mdb da chiamare naturalmente con una system.
  • Re: Problema con "C" e access

    Mi perdonerai l'ingerenza ma dall'account della tua mail sono risalito ad una home page, dalla quale si legge di prodotti e features esplicite; ora l'osservazione sarà stupida ma la scelta del C è dovuta a cosa?
    Gli archivi ISAM mi avevano fatto sospettare qualcosa ... ora se i file in oggetto sono stati creati da AcuCOBOL perché non fare il lavoro tramite il servizio ODBC offerto da quast'ultimo?
    Forse la scelta del modulo C è legata ai lettori portatili della 4P?
  • Re: Problema con "C" e access

    Nessuna ingerenza chip, presto detto. Gli archivi isam in acu cobol a cui ti riferisci, appartengono alla procedura MULTI della team system che noi commercializziamo per i nostri clienti consulenti e commercialisti così comè visto il tipo di problematica. Oltre a questo settore, la nostra azienda sviluppa e offre ai propri clienti (aziende in genere sia nell’ambito del commercio che della produzione) un gestionale di produzione propria scirtto in c standard. A questo prodotto si riferiva il mio quesito ed è questo prodotto anche che facciamo interagire con i terminali della 4P. Spero di essere stato chiaro e…. grazie ancora per le tue indicazioni.
  • Re: Problema con "C" e access

    Tutto chiaro! Allora buon lavoro.
Devi accedere o registrarti per scrivere nel forum
8 risposte