2016-11-27 1 views
0

Je viens de sortir un programme avec C# et Visual Studio qui a un formulaire de connexion. Ce formulaire de connexion a une base de données et une table et vous devez avoir un nom d'utilisateur et un mot de passe pour vous connecter à ce programme. Lorsque vous entrez le nom d'utilisateur et le mot de passe, le programme se connecte au serveur SQL (qui se trouve dans mon système) et si le nom d'utilisateur et le mot de passe étaient corrects, vous pouvez entrer dans le programme. Mais lorsque j'ai installé ce programme dans un autre système, je ne peux même pas entrer dans le programme et l'erreur est: Vérifiez que le nom de l'instance est correct et que le serveur SQl est configuré pour permettre les connexions à distance. Et le code d'erreur est 40. J'ai défini le port du programme sur 1433 et modifié le TCP/IP pour activer et redémarrer le serveur SQl. Et déjà j'ai ajouté ce port aux règles entrantes dans Windows Firewall de Windows. Et dans l'option du serveur Sql j'ai vérifié: Autoriser les autres systèmes à se connecter. Mais je ne peux pas me connecter à mon système, avec d'autres systèmes. Quel est mon problème? Voici mon code de serveur SQL et le code de connexions en C#.Comment se connecter au serveur SQL avec un autre système

int x = tblLoginTableAdapter1.LoginSystem(txtUserName.Text, txtPassWord.Text).Value; 

et la chaîne de connexion:

class Connection 
{ 
    public static string C = "Data Source=VORTEX;Initial Catalog=Warehouse;Integrated Security=True"; 
} 

Répondre

0

Je ne pas vraiment arriver là où vous êtes en venir ... il n'y a pas de sens d'avoir une base de données locale pour la connexion. Néanmoins, je vais essayer de répondre à votre question. Vous ne pouvez pas définir la chaîne de connexion dans votre programme car différents PC ont des noms d'instance différents (duh).

class Connection 
{ 
    public static string C = "Data Source=VORTEX (<=This is your error);Initial Catalog=Warehouse;Integrated Security=True"; 
} 

Utilisez app.config pour stocker les chaînes de connexion à la place.

Ainsi, votre app.config serait alors ressembler à quelque chose comme ceci:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> 
    </startup> 
    <connectionStrings> 
    <add key="data" connectionString="Data Source=VORTEX;Initial Catalog=Warehouse;Integrated Security=True"/> 
    </connectionStrings> 
</configuration> 

Et thats comment vous obtenez la chaîne de connexion:

var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["data"].ConnectionString; 

Vous devez également ajouter une référence à System.Configuration