2010-03-31 7 views
2

J'ai un serveur sql sur une machine dédiée, exécutant SQL 2008. J'ai l'adresse IP de la boîte, une configuration de base de données dessus.Obtention d'une erreur d'autorisation lors de la tentative de connexion à la base de données SQL

J'ai construit un petit script qui fait juste un test de connexion, et quand je l'exécute, j'obtiens l'erreur suivante.

La demande d'autorisation de type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version = 2.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089' a échoué.

L'administrateur m'a dit que l'accès à distance SQL a été accordé pour mon adresse IP.

Quelqu'un sait ce qui ne va pas?

Répondre

0

Il est avéré être un problème de sécurité .NET .. maintenant résolu ..

0
  • Votre chaîne de connexion est-elle correcte?

Utilisez-vous une chaîne de connexion similaire à montrer ici connectionstrings.com

  • Est-ce votre nom d'utilisateur et mot de passe?

nom d'utilisateur = xxx; pwd = xxx;

  • Utilisez-vous une connexion approuvée ou non?

Trusted_Connection = True;

  • Pouvez-vous exécuter une commande ping sur le serveur en question?
+0

Ma chaîne de connexion est de la forme connString = « Source de données = ipAddressHere; Initial Catalog = dbName; ID utilisateur = utilisateur; Mot de passe = pass; " SqlConnection conn = new SqlConnection(); conn.ConnectionString = connString; conn.Open(); La base de données est accessible, le nom d'utilisateur et le mot de passe sont corrects. Que voulez-vous dire par «se connecter définitivement par IP? Comment dites-vous si c'est une connexion de confiance ou non? – Matt

+0

Pouvez-vous expliquer le Tusted_Connection = Truel; peu ... Où ça va? – Matt

+0

Une connexion de confiance est l'endroit où le serveur db sait qui vous êtes par votre login ou groupe Windows (plutôt que nom d'utilisateur/mot de passe). Définitivement la connexion par IP - le serveur est configuré pour accepter les connexions par IP plutôt que par les canaux nommés uniquement. – CResults

0

Vous avez peut-être besoin d'un peu plus d'informations sur votre environnement.

Active Directory? Assurez-vous que le client SQL s'exécute sous un compte de domaine et qu'il se trouve dans le même domaine que les utilisateurs qui tentent d'y accéder. Faites-nous savoir si ce n'est pas AD ou si cela ne fonctionne pas, et nous continuerons d'essayer à partir de là.

(Aussi, je ne suis pas sûr de « l'accès à distance a été accordée pour mon adresse IP. » Vous avez besoin d'informations de connexion réelles.)

0

a le SQL Server été configuré pour autoriser les connexions à distance encore en utilisant le approprié protocole - Je suppose TCP/IP. Si c'est une nouvelle installation, cette étape peut avoir été manquée. Après la confirmation de la configuration de base, les étapes énumérées par CResults devraient vous permettre d'y accéder.

0

Pour forcer TCP/IP (si vos paramètres par défaut du client à somthing autre), essayez d'ajouter ceci à votre connectionstring "; bibliothèque réseau = dbmssocn", de sorte qu'il ressemble à quelque chose comme ceci:

Data Source=ipAddressHere;Initial Catalog=dbName;User Id=user;Password=pass;Network Library=dbmssocn 

ou

Data Source=tcp:ipAddressHere,1433;Initial Catalog=dbName;User Id=user;Password=pass 
0

Pour vous aider à éliminer les problèmes de type sys-admin, je vous recommande de vous connecter à l'aide de SQL Management Studio sur votre ordinateur client. Si ce n'est pas disponible, utilisez l'Explorateur de serveurs Visual Studio pour établir une connexion. En supposant que cela se connecte, vérifiez que vous pouvez exécuter n'importe quelle commande SQL que vous utilisez dans votre test.

Questions connexes