Upsize da Access a Sql2008

sabato 18 giugno 2011 - 19.55
Tag Elenco Tags  C#  |  Windows XP  |  SQL Server 2008  |  Access (.mdb)

geggiot Profilo | Newbie

Salve, sono appena arrivato sul forum e
premesso che mi sono da poco affacciato all'asp e a ms sql server, ho questo problema:
ho un sito fatto non da me in asp classico con un database access e ho pensato di fare l'upsize del db access a ms sql server 2008.Ho effettuato l'upsize del file .mdb con il tool Ms Sql Server Migration Assistant 2008, inserendo il file mdb e i dati per connettermi al server esterno Sql 2008 e non ho riscontrato errori nel report. Ho cambiato la stringa di connessione del file
inc_config.asp
ma ottengo sempre
The page cannot be displayed because an internal server error has occurred.
, ho provato tutte le stringhe di connessione che ho trovato su internet ma non ho risolto nulla. Ho creato un file test.asp trovato in rete per provare ulteriormente la connessione al db sql server 2008 ma nulla,
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Qualcuno saprebbe indicarmi la via...?
Grazie

lbenaglia Profilo | Guru

>Qualcuno saprebbe indicarmi la via...?

Ciao Luigi,

L'istanza SQL Server e la web app risiedono sul medesimo server? Nel caso non lo siano devi assicurarti che l'istanza sia raggiungibile da un server remoto (fai riferimento a questo thread http://www.dotnethell.it/forum/messages.aspx?ThreadID=10971).
Inoltre, hai definito a livello di istanza una login SQL Server mappata ad corrispettivo User Account a livello di database con le permission necessarie ad accedere agli oggetti che ti servono?

Leggi attentamente tutti i links presenti in questo paragrafo dei Books Online:
http://msdn.microsoft.com/en-us/library/bb510418.aspx

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

geggiot Profilo | Newbie

Ciao Lorenzo,
grazie per avermi risposto!
Allora, l'istanza e l'app risiedono sullo stesso server e sono entrambi raggiungibili da remoto, per i permessi all'User Account devo ricontrollare.
Quindi giusto per capire anche come funziona il tutto, la mia webapp mostra e dà la possibilità di inserire, modificare ed eliminare dati che risiedono sul database sql, nel file di config della webapp quindi tramite stringa che ancora non ho capito come sia, devo connettermi a tale db con un utente che abbia permessi di view, modify, delete, add. Confermi?
Grazie ancora
Luigi

lbenaglia Profilo | Guru

>Allora, l'istanza e l'app risiedono sullo stesso server e sono
>entrambi raggiungibili da remoto, per i permessi all'User Account
>devo ricontrollare.
In questo caso non occorre che SQL Server sia raggiungibile da remoto e per motivi di security ti suggerisco di disabilitare tutti i ptotocolli di rete ad esclusione di Shared Memory mediante il SQL Server Configuration Manager.

>Quindi giusto per capire anche come funziona il tutto, la mia
>webapp mostra e dà la possibilità di inserire, modificare ed
>eliminare dati che risiedono sul database sql, nel file di config
>della webapp quindi tramite stringa che ancora non ho capito
>come sia, devo connettermi a tale db con un utente che abbia
>permessi di view, modify, delete, add. Confermi?
Se accedi direttamente alle tabelle lo user account mappato dalla login utilizzata in fase di autenticazione dovrà avere le GRANT di SELECT, INSERT, UPDATE e DELETE.
Innumerevoli esempi di stringhe di connessione li trovi qua:
http://www.connectionstrings.com/sql-server-2008

>Grazie ancora
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

geggiot Profilo | Newbie

Ok, un'ultima cosa, su connectionstrings.com riporta diverse stringhe in base a Usage e Type, come faccio a capire quale stringa utilizzare? Dipende da come è configurato il server mssql?
Grazie

lbenaglia Profilo | Guru

>Ok, un'ultima cosa, su connectionstrings.com riporta diverse
>stringhe in base a Usage e Type, come faccio a capire quale stringa
>utilizzare? Dipende da come è configurato il server mssql?
Dipende dal modello di autenticazione che intendi utilizzare (SQL Server o Windows).
Nel primo caso puoi creare una login SQL Server indicandola nella connection string (User Id=myUsername;Password=myPassword;), nel secondo definirai un utente Windows locale (o eventualmente di dominio), creerai una login mappata a tale utente e farai in modo di configurare la tua web app a girare con questo utente. Nella stringa di connessione sarà sufficiente specificare Integrated Security=SSPI;

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

geggiot Profilo | Newbie

Ho risolto con le tue indicazione, la pagina di test si connette tranquillamente. Per gli altri file asp devo modificare il codice che viene utilizzato per accedere ai dati del db, giusto?
Tipo questo
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

lbenaglia Profilo | Guru

>Ho risolto con le tue indicazione, la pagina di test si connette
>tranquillamente. Per gli altri file asp devo modificare il codice
>che viene utilizzato per accedere ai dati del db, giusto?
>Tipo questo
>sql="select TOP 1 * from Libri Where ID_Autori="&IDAutori&" AND
>B_Editori=0 ORDER BY D_DATA ASC"
>SET RS=OBJdbConnection.Execute(sql)
> IDProssimo=RS("ID")
>RS.Close

Questo codice esegue una semplice SELECT.
Devi modificare opportunamente la connection string utilizzata dall'oggetto OBJdbConnection.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5