Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [VB.NET] errore creazione nuovo database da codice

    Buona domenica a tutti.
    all'interno del mio programma ho la necessità di creare in fase di esecuzione un database formato access (con estensione .accdb)
    da utilizzare poi per il programma.
    L'ho creato con questo codice.
    codice:
     File.Create(pathDirDatabases & "\" & NewName & ".accdb")
    la variabile NewName contiene il nome del database scelto dall'utente.
    a questo punto scrivo la stringa di connessione, ma al momento dell'apertura della connessione ottengo questo messaggio di errore:
    Formato di database 'L:\Visual Basic Projects\iBook\iBook\bin\Debug\Databases\libreria2 .accdb' non riconosciuto.
    Il file viene creato correttamente ma non viene riconosciuto nemmeno da access.
    Cosa dovrei fare per creare correttamente un nuovo database access da codice?

    grazie per l'aiuto!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Se il tuo ragionamento filasse basterebbe creare un file con estensione .docx per ottenere un documento di Word, oppure .jpg per ottenere un'immagine.
    In realtà il metodo create della classe file crea un file di testo (destinato a contenere testo), indipendentemente dall'estensione che gli viene assegnata.
    Un database, com'è facilmente intuibile, ha una struttura alquanto più complessa. Il linguaggio SQL consente anche di creare un database e i suoi contenuti (tabelle, relazioni,...) senza i quali non avrebbe ragione di esistere, ma di solito la creazione di un database viene fatta con applicazioni specifiche, per esempio lo stesso Access nel tuo caso.
    Perché vorresti invece farlo da codice?

  3. #3
    avevo intuito che lo scopo del problema fosse quello che hai descritto tu.
    In pratica la mia applicazione gestisce un database contenente informazioni sui libri. è fatta in modo tale che l'utente, all'avvio, può o collegare un database già esistente, oppure,se fosse possibile, crearne uno nuovo. Ma da quanto dici mi pare impossibile creare un database access da codice, giusto?
    so che con SQL si può creare appunto un database sql ma a me interesserebbe il formato access.. se non esiste un modo toglierò quell'opzione..

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Stai confondendo il linguaggio SQL, che è appunto un linguaggio per l'interrogazione, la gestione e la manipolazione di qualunque tipo di database (con alcune varianti proprie di ciascuno) con SQL Server che è uno dei molti tipi di database (RDBMS) esistenti.

    Stai anche confondendo Access, che è un'applicazione per la gestione di un tipo di database (MS-Jet) con il database stesso.

    Quello che vuoi fare è possibile, anche se ho dei dubbi sull'utilità, ma non prima di aver sgombrato il campo dagli equivoci di cui sopra.

    Documentati un po' sul linguaggio SQL, magari nella versione (dialetto) per MS-Jet e scoprirai che esistono due "famiglie" di istruzioni: DML (Data Manipulation Language) per interrogare/modificare/inserire/cancellare i dati e DDL (Data Definition Language) per creare/modificare/eliminare databases, tabelle, relazioni ecc. ecc.

    Per quello che vuoi fare, comunque, potresti seguire anche un'altra via: copiare il database esistente creandone un altro uguale e cancellarne i dati contenuti.

  5. #5
    Originariamente inviato da Grumpy
    Per quello che vuoi fare, comunque, potresti seguire anche un'altra via: copiare il database esistente creandone un altro uguale e cancellarne i dati contenuti.
    oppure tenerne da parte uno vuoto che faccia da master: lo copi assegnandogli il nome che vuoi, e il tuo nuovo db è pronto per l'uso

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Originariamente inviato da optime
    oppure tenerne da parte uno vuoto che faccia da master: lo copi assegnandogli il nome che vuoi, e il tuo nuovo db è pronto per l'uso
    Sì, anche meglio. Ma rimane il dubbio sulla necessità.

  7. #7
    ho capito.. scusate l'ignoranza ma è il mio primo approccio ai database.. allora mi documenterò un po sul linguaggio SQL..ne ho proprio bisogno grazie mille per l'aiuto e i suggerimenti!
    ciao a tutti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.