web-dev-qa-db-fra.com

Erreur «échec d'instance» alors que la chaîne de connexion est correcte

J'ai le code suivant sur l'événement de chargement de page:

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        con = New SqlConnection("Data Source=14GRAFICALI\\SQLEXPRESS;Initial Catalog=sagar;Integrated Security=True")
        '-----------------------fill name ddl------------------------------'

        Try

            da = New SqlDataAdapter("select EmpName from empMaster_VB", con)
            ds = New DataSet()
            da.Fill(ds)
            For i As Integer = 0 To ds.Tables(0).Rows.Count

                ddlName.Items.Add(ds.Tables(0).Rows(i)(0).ToString())

            Next


        Catch ex As Exception

        End Try

        '--------------------------------------------------------------------'


        '----------------fill expence-------------------------------------'

        Try

            da = New SqlDataAdapter("select ExpName from expenceType_VB", con)
            ds = New DataSet()
            da.Fill(ds)
            For i As Integer = 0 To ds.Tables(0).Rows.Count

                ddlExpence.Items.Add(ds.Tables(0).Rows(i)(0).ToString())

            Next


        Catch ex As Exception

        End Try


        '---------------------------------------------------------------'



    End Sub

Ce code sert à remplir les listes déroulantes avec des noms et des valeurs de dépenses dans les tables de base de données.

Je reçois 'instance failure 'erreur lors de l'exécution du code.

J'ai vérifié l'un des réponses sur la pile et vérifié ma chaîne de connexion. Mais, ma chaîne de connexion est également correcte.

Veuillez m'aider si quelque chose d'autre manque dans ce code.

20
C Sharper

Comme vous avez obtenu l'erreur "échec d'instance", cela pourrait être l'erreur avec votre instance SQL Server.

Assurez-vous que votre instance SQL Server (MSSQLSERVER) est en cours d'exécution, où vous pouvez vous enregistrer: Liste des services. Pour entrer dans la liste des services: ouvrez la boîte de dialogue d'exécution et tapez: "services.msc" (sans guillemets) et appuyez sur Entrée. Cela vous amène à la console de gestion des services, où vous pouvez vérifier si votre instance est en cours d'exécution ou non.

Si le problème persiste, essayez plutôt d'utiliser: Data Source =.\SQLEXPRESS à la place .. :)

Joyeux codage ... :)

31
Vidhya Sagar Reddy

J'ai une connexion:

Data Source=MyComputerName\SQL2012ENTERPRS;Initial Catalog=RESTFUL; User Id=myuser; Password=mypass123;

Mon serveur est: MyComputerName\SQL2012ENTERPRS

Mais comme j'utilise de la chaîne, j'ajoute plus de \ donc, à mon code Ce sera:

public string connectionString = "Data Source=DAFWKN409C67Q\\SQL2012ENTERPRS;Initial Catalog=RESTFUL; User Id=rest_user; Password=rest_pwd_01;";

J'ai oublié que je dois supprimer l'un des \ puisque je n'utilise pas de bloc de chaîne par défaut, j'utilise un fichier XML pour enregistrer ma chaîne de connexion. Alors tout va bien. Donc, ma suggestion est que le nom de votre instance n'est pas correct.

Ceci est mon exemple de chaîne de connexion, j'utilise un PC local en utilisant SQL express:

string servername = @"Data Source=.\SQLExpress;Initial Catalog=Workshop;Integrated Security=True";

Vous devez modifier le nom de votre serveur et le nom de l'instance par vous-même, assurez-vous qu'ils sont corrects.

16
toha

J'ai eu ce problème car j'ai obtenu la chaîne de connexion de appsettings.Development.json:

"Server=msi\\DataBaseName;Database=Super25;Trusted_Connection=True;"

mais quand j'ai changé pour

"Data Source=msi\DataBaseName;Initial Catalog=Super25;Integrated Security=True;"

résolu!

10
Clever Almeida

dans mon cas, il suffit de lancer le double \\ à une neige fondue \: =)

5
Hamit YILDIRIM

Utilisez le caractère générique "@" avant la déclaration "Source de données". quelque chose comme ceci: connetionString = @ "Data Source = ...

Vous ne pourrez donc utiliser qu'une barre oblique inverse. Comme ceci: @ "Data Source =.\SQLEXPRESS; AttachDbFilename = C:\Users\jcabarros ...

2
JBarros

Je sais que c'est un vieux fil, mais peut-être une bonne mise à jour. Je n'ai pas trouvé de bonne réponse lors de la recherche sur le Web.

J'ai eu la même erreur "Instance Failed" en essayant de référencer un DbContext d'un autre projet dans la même solution. Le 1er projet avait un DbContext et la chaîne de connexion, et le 2e projet de la solution essayait de le référencer. La 1ère application s'est bien déroulée d'elle-même, le problème ne s'est produit que lors de l'exécution de la 2ème application.

Le problème était que le fichier app.config qui contenait la chaîne de connexion du 1er projet n'était pas en vue/portée du 2e projet. La chaîne de connexion n'a donc pas été assemblée.

Ma solution était de copier le fichier app.config du premier projet au deuxième projet.

C'était sur VS 2019.

J'espère que cela t'aides

0
S-eagle