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

    [VB.NET] lettura/scrittura db FireBird SuperServer

    nel tentativo di capire come dialogare con un db FireBird SuperServer ho scritto questo codice:

    dim c As FbConnection = new FbConnection("Server=localhost;User=XX;Password=YY ;Database=C:\Programmi\IBEasy+\Databases\BD1.GDB")
    c.Open()
    messagebox.Show("connessione aperta")
    Dim cmd As FbCommand = New FbCommand("INSERT INTO Veicoli (Targa) values ('bingo')")
    cmd.ExecuteNonQuery()
    c.Close()

    fino a “connessione aperta” ci arriva, poi mi da questo errore:

    Exception FirebirdSql.Data.FirebirdClient.FbException was thrown in debugee:
    Dynamic SQL Error
    SQL error code = -204
    Table unknown
    VEICOLI

    Non capisco se l’errore è dovuto alla sintassi errata del codice VB.NET oppure se è dovuto a qualcosa di mancante nel db FireBird in quanto la tabella Veicoli è presente, l’utente “XX” e la password “YY” sono corretti (tanto è vero che apre la connessione).

    Qualcuno gentilmente mi può fornire del codice di esempio??
    Grazie.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Apparentemente, a giudicare dall'errore, pare che la tabella non sia presente.

    Come verifichi la presenza effettiva della tabella?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    eh eh daccordo imbranato ma.. la tabella l'avevo appena creata!
    comunque ho risolto, il problema era il diritto di grant dell'utente sui campi della tabella, che non era impostato.

    Scusami, altro quesito di carattere più generale:
    come devo gestire le diverse connessioni al DB FireBird direttamente dal programma VB.NET che vado a scrivere??

    mi spiego meglio:
    - data una Lan con un server su cui ci installo FireBird Server
    - definisco una serie di utenti (stavolta con relativi diritti - tutti uguali) del tipo utente1 utente2.. e relative password
    - ci metto il mio DB FireBird,
    - scrivo il programma VB.NET per accedere al DB dai vari pc client
    - nella stringa di connessione devo scrivere per forza utente e password (vero?)
    - compilo il programma ed ottengo 1 eseguibile
    - ma se ogni client poi accede con utente e password diverse, come faccio a creare una unica versione del programma che, installata su diversi client, mi crei automaticamente le diverse stringhe di connessione??

    Ciao.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Non ho ben capito le problematiche che hai esposto in merito alla gestione degli utenti nel tuo applicativo.

    Mi spiego: è ovvio che se definisci più utenti sul server per l'accesso ai database da esso gestiti, devi necessariamente fornire un nome utente e una password per poterti autenticare sul server e poter così accedere a qualsivoglia database.

    Sconsiglio di memorizzare username e password all'interno del file eseguibile o di file di configurazione.

    Se l'accesso ai database deve essere regolato in base all'utente che usa il tuo prodotto, semplicemente fornisci un'interfaccia con cui ciascun utilizzatore possa specificare il proprio nome utente e la password che verranno poi forniti nella stringa di connessione al server che, in questo modo, ti permetterà l'accesso (o lo negherà in caso negativo).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    credo di aver afferrato: faccio partire l’applicazione, chiedo utente e password, creo la stringa di connessione completa, faccio un tentativo di connessione, verifico se va’ a buon fine e nel caso memorizzo il tutto in una costante pubblica, da usare ogni qualvolta accedo al DB.

    Per il percorso completo del DB, invece, pensavo ad un file PIPPO.TXT da mettere da qualche parte (ho letto articoli e varie discussioni al riguardo, ma devo ancora farmi un’idea personale).
    Tu dove lo metteresti??

    Buon lavoro.

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da gfantuzzi
    credo di aver afferrato: faccio partire l’applicazione, chiedo utente e password, creo la stringa di connessione completa, faccio un tentativo di connessione, verifico se va’ a buon fine e nel caso memorizzo il tutto in una costante pubblica, da usare ogni qualvolta accedo al DB.
    Io memorizzerei esclusivamente nome utente e password, tutt'al più, se l'utente decide di farlo con un'apposita spunta dell'opzione relativa.

    Originariamente inviato da gfantuzzi
    Per il percorso completo del DB, invece, pensavo ad un file PIPPO.TXT da mettere da qualche parte (ho letto articoli e varie discussioni al riguardo, ma devo ancora farmi un’idea personale).
    Tu dove lo metteresti??
    Forse è più adatto un file strutturato, come un file XML, magari con un nome più significativo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    ho capito, grazie.

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.