Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme autorisation sur SQLServer2005 [ Base de données / SQL Server ] (joe10155)

mardi 18 juillet 2006 à 09:08:18 | probleme autorisation sur SQLServer2005

joe10155

Bonjour,

je viens d'intaller sqlserver2005_express en local sur mon PC et j'essaye d'éxécuter une requete SQL à partir d'une page aspx.

Voila le code ma page :
Dim mySqlConnection as SqlConnection = new SqlConnection("server=JOE10155\SQLEXPRESS;Trusted_Connection=yes;UID=sa;PWD=xxxx;database=xxxx")
    Dim mySqlDataAdapter as SqlDataAdapter = new SqlDataAdapter("SELECT * FROM Entreprise WHERE (EntrepriseNr =999)", mySqlConnection)
    Dim myDataSet as DataSet = new DataSet()
    mySqlDataAdapter.Fill(myDataSet,"Entreprise")


Et voila le probleme :
System.Data.SqlClient.SqlException: Autorisation SELECT refusée sur l'objet 'Entreprise', base de données 'xxxx', schéma dbo'.

Apres plusieurs recherche, j'ai vu qu'il fallait peut etre rajouter un user ASPNET dans la base mais je n'ai pas compris comment....

Merci d'avance si quelqu'un a une idée.

PS : J'utilise Microsoft SQL Server Management Studio Express pour gérer la base.

mardi 18 juillet 2006 à 10:53:47 | Re : probleme autorisation sur SQLServer2005

skweeky

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Ca dépend de ta version de Windows en fait, sur un Windows XP c'est bien ASPNEt qu'il faiut ajouter, si c'est du 2003 c'est un poil plus compliqué, en local c'est NetworkService et en cas d'accès distant (serveur SQL séparé du serveur ASP.net) c'est le compte de la machine ASP.net.

Pour donner des droits à un compte sur SQL Express en SQL :

-- Exemple pour ASPNET
CREATE LOGIN [MACHINE\ASPNET] FROM WINDOWS

-- Puis ensuite sur la base de données, création de l'utilisateur
CREATE USER ASPNET FROM LOGIN [MACHINE\ASPNET' ]

Ensuite il faut accorder les droits aux objets :

-- Ici donne le droit en SELECT sur la table enterprise
GRANT SELECT ON Enterprise TO ASPNET

-- Ou utiliser un rôle, par exemple ici lecture sur tous les objets de la base.
EXEC sp_addrolemember 'db_reader', 'aspnet'


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

mardi 18 juillet 2006 à 11:02:18 | Re : probleme autorisation sur SQLServer2005

joe10155

Je suis effectivement sous Windows XP.

Juste une petite précision :
la première requête "CREATE LOGIN...", je l'execute à partir de quel endroit?

J'essaye cela dès ce soir.

Merci beaucoup de ton aide.


mardi 18 juillet 2006 à 11:28:53 | Re : probleme autorisation sur SQLServer2005

skweeky

Membre Club Administrateur CodeS-SourceS
Avec SQLCMD sur master par exemple, même si çà n'est pas très important


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

mardi 18 juillet 2006 à 11:30:27 | Re : probleme autorisation sur SQLServer2005

joe10155

Encore merci.
Je teste ce soir et je valide la réponse.

mercredi 19 juillet 2006 à 15:05:48 | Re : probleme autorisation sur SQLServer2005

joe10155

Réponse acceptée !
J'ai testé et cela marche trés bien.

Une petite précision pour ceux qui auraient le meme problème :
la dernière commande qui donne tous les droits ne marche pas : il faut donc aller dans les authorisations de la base données concernées et cocher à la main les authorisations pour le user ASPNET.

mercredi 9 juillet 2008 à 15:58:26 | Re : probleme autorisation sur SQLServer2005

issousam

Bonjour,
je suis tout nouveau dans la programmation ASP.NET et j'ai un problème au niveau de l'accés à ma base de données.

Voilà l'erreur :
Server Error in '/' Application.


Impossible d'ouvrir la base de données "document" demandée par la connexion. La connexion a échoué.
Échec de l'ouverture de session de l'utilisateur 'sa'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Impossible d'ouvrir la base de données "document" demandée par la connexion. La connexion a échoué.
Échec de l'ouverture de session de l'utilisateur 'sa'.
Source Error:

 														Line 25:         { Line 26:             SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM authors", cn);  														 																Line 27:             cn.Open(); Line 28:             SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); Line 29:             rdr.Read(); 												
Source File: x:\Inetpub\wwwroot\SITE_COTIC\Savoirs\Documents\ListeDoc.ascx    Line: 27
Stack Trace:

 														[SqlException (0x80131904): Impossible d'ouvrir la base de données "document" demandée par la connexion. La connexion a échoué. Échec de l'ouverture de session de l'utilisateur 'sa'.]    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +171    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2406    System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +34    System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +223    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +371    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +184    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +193    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +502    System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28    System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +429    System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +70    System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +510    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +85    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +89    System.Data.SqlClient.SqlConnection.Open() +160    ASP.documents_listedoc_ascx.Page_Load(Object sender, EventArgs e) in x:\Inetpub\wwwroot\SITE_COTIC\Savoirs\Documents\ListeDoc.ascx:27    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43    System.Web.UI.Control.OnLoad(EventArgs e) +80    System.Web.UI.Control.LoadRecursive() +49    System.Web.UI.Control.LoadRecursive() +132    System.Web.UI.Control.LoadRecursive() +132    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3745  												
Version Information:  Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832

et voici le code que j'utilise pour ma connexion :

protected void Page_Load(object sender, EventArgs e) {

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectString"].ToString())) {

SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM document", cn);
cn.Open();
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
rdr.Read();
Response.Write(rdr[0].ToString()); //read a value
}
}

Et le fichier web.config :

<connectionStrings>
    <add name="ConnectString"
        connectionString="Server=Mon serveur\SQLExpress;Database=ma table;User id=l'identifiant SQL sevrer; password=mot de passe SQL Server"
        providerName="System.Data.SqlClient" />
  </connectionStrings>
<system.web>
<compilation
         defaultLanguage="c#"
         debug="true"
         strict="false"
         explicit="true"
    />
<pages>
   <namespaces>
    <clear/>
    <add namespace="System"/>
    <add namespace="System.Collections"/>
    <add namespace="System.Collections.Specialized"/>
    <add namespace="System.Configuration"/>
    <add namespace="System.Text"/>
    <add namespace="System.Text.RegularExpressions"/>
    <add namespace="System.Web"/>
    <add namespace="System.Web.Caching"/>
    <add namespace="System.Web.SessionState"/>
    <add namespace="System.Web.Security"/>
    <add namespace="System.Web.Profile"/>
    <add namespace="System.Web.UI"/>
    <add namespace="System.Web.UI.WebControls"/>
    <add namespace="System.Web.UI.WebControls.WebParts"/>
    <add namespace="System.Web.UI.HtmlControls"/>
                <add namespace="Savoirs.Outils" />
   </namespaces>
  </pages>
<customErrors
      mode="Off"
      defaultRedirect="Erreur.htm"
    >
    <error
        statusCode="404"
        redirect="Erreur404.htm"
      />
    </customErrors>

<trace
        enabled="false"
        requestLimit="10"
        pageOutput="false"
        traceMode="SortByTime"
  localOnly="true"
    />

    <sessionState
            mode="InProc"
            stateConnectionString="tcpip=?????"
            sqlConnectionString="data source=L'adresse IP de mon serveur"
            cookieless="false"
            timeout="20"
    />

    <globalization
            requestEncoding="utf-8"
            responseEncoding="utf-8"
   />
 </system.web>
</configuration>

Voila, et je developpe en langage C# sous l'environnement Web Matrix et, j'accède à ma base de données via une connexion à un serveur (connexion machine/serveur avec un switch) qui heberge SQL SERVER EXPRESS 2005, et que j'utilise une authentification SQL (avec id et mot de passe).

Merci d'avance pour vos reponses,
Ca m'aiderait vraiment à avancer dans mon projet...

Je vous suis déjà tres reconnaissant pour l'existence de ce genre de forum...




Cette discussion est classé dans : probleme, entreprise, autorisation, xxxx, sqlserver2005


Répondre à ce message

Sujets en rapport avec ce message

probleme de connexion [ par fouzia ] salut;voila je travail dans un reseau (intranet), j'ai essaye de crer un site web, dans mon poste, et j'ai fais la connexion a la base de donnees du s probleme d'incrémentation [ par metos ] J'aimerais que resultat(compteur) m'affiche le contenu de resultat1. En réalité j'ai plusieurs variables resultat1 dans une boucle. mais je presente i Probleme delete [ par pHoEnIxFuRy ] Voilà je voudrai simplement exécuter une requête delete mais G le message d'erreur suivant :---------------------------------------------------------- probleme de dates [ par franzioz ] Bonjour,j'ai un probleme avec mes dates sur mon serveur. Avant quand j'appelais la fonction formatdatetime(now(),3) le resultat etait: 1:25 PMDepuis j efrance.fr probleme affichage ?? [ par cbu ] Salut,j'ai mon site sur efrance.fr et mes pages ne s'affichent entièrement... Quelqu'un a t'il le meme probleme ?Par avance merci ;)A+cbu probleme de concatenation [ par yogipoumpoum ] bonjours a touspour incrementer une variable dans mon tableau, au lieu de m'ajouter 2 chiffres, il me les concatene :s( panel(j,2) = panel(j,2) + requ Probleme avec ASP.Net web Matrix [ par LiveScriptor ] SAlut tlm, Je commence a vouloir aprendre le ASPX, je métrise tres bien le asp.Je viens d'installer ASP.Net web Matrix, avec le FrameWok.net... Mais j Probleme de cookie !!!!!!!!!!! [ par Jackboy ] J'ai un probleme de cookie ! Je crée un cookie pour avoir le e-mail de l'utilisateur, tous est ok, je teste avec IIS et tout est nickel, mais quand je probleme hebergeur efrance [ par jimmy69 ] Bonjour à tous,Voila j'ai un compte chez efrance.fr depuis pas mal de temps...et depuis plus d'une semaine je n'arrive plus a me connecter au site..me probleme : ajout 2 variable [ par babino ] salut tt mondevous savez comment on peut ajouter 2 variable a une page'motifs.asp'?mot2=">les deux varia


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.