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

    [Delphi] Connessione server MS-SQL locale (o LAN)

    Ciao a tutti,
    ho bisogno di connettermi ad un server MS SQL su rete locale LAN o anche sul server stesso... utilizzo questa stringa, la stessa che uso per le pagine ASP che si interfacciano al medesimo DB.

    codice:
    "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Server=(local);Database=Pagamenti"
    L'utente che avvia l'applicazione Delphi è abilitato all'accesso DATAREADER e DATAWRITE del database in questione.

    Come mai mi dice 'Autenticazione non riuscita'?

    Grazie
    Stefano

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Mi dispiace rispondere con delle domande, ma...

    Quali componenti stai utilizzando per accedere al database?
    L'applicazione risiede sulla stessa macchina in cui si trovano le suddette pagine ASP?

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

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

  3. #3
    Gli ADO Components... una connessione ADO normale.
    No, l'applicazione risiede su <> macchine che sono nella stessa rete locale LAN.
    Stefano

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da peste1
    Gli ADO Components... una connessione ADO normale.
    No, l'applicazione risiede su <> macchine che sono nella stessa rete locale LAN.
    In tal caso, suppongo che l'impostazione Server=(local); non si possa adattare ad entrambi i casi.

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

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

  5. #5
    Originariamente inviato da alka
    In tal caso, suppongo che l'impostazione Server=(local); non si possa adattare ad entrambi i casi.

    Ciao!
    Sì certo... sono riuscito a risolvere specificando il percorso del database MDF e creando un'unità virtuale di rete sulle macchine che mi interessano.
    Stefano

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da peste1
    sono riuscito a risolvere specificando il percorso del database MDF e creando un'unità virtuale di rete sulle macchine che mi interessano.
    Cioè?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    Originariamente inviato da alka
    Cioè?
    Eheh. Mi spiego meglio.

    1. Ho creato sulle macchine che dovevano ospitare l'applicazione un'unità virtuale (chiamata F: che punta su una cartella specifica del Server alla quale si accede con le credenziali di accesso del PC)

    2. La stringa di connessione al DB è la seguente:

    codice:
    Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=GeOr;Data Source=SERVER;Initial File Name=F:\Database\GeOr_Data.mdf
    Stefano

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Generalmente, un accesso ad un qualsiasi database client/server eseguito in quel modo è un errore.

    Il file fisico del database dovrebbe essere ben nascosto e protetto, mentre l'accesso al database logico deve avvenire colloquiando, attraverso il client, direttamente con il server installato sulla macchina che possiede il disco nel quale è memorizzato, appunto, il database fisico.

    Lo stesso dovrebbe valere per FireBird, InterBase, MySQL e affini.

    Accedendo come hai fatto tu, apparentemente stai sfruttando l'istanza di un server locale presente nella macchina su cui esegui l'applicativo per accedere direttamente ad un file fisico dislocato su un'altra macchina in rete; ad ogni richiesta effettuata al server locale, esso accede al file fisico e i dati transitano attraverso la rete generando un enorme traffico, mentre si dovrebbe - al contrario - agire come ho descritto sopra, in modo che il server presente sulla macchina in cui si trova il database riceva le richieste dal client, acceda direttamente al file fisico in locale e restituisca solo ed esclusivamente i dati richiesti tramite SQL.

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

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

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.