Bonjour,

dans mon fichier global.asax , j'utilise ce code pour essayer d'attacher une base de donnée.
Mais ça ne fontionne pas, je me demande si c'est évalué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code qui s’exécute au démarrage de l’application
        'Je vérifie qu'il existe le service MSSQL$<nnomdel'instance>
        Dim Services() As ServiceController
        Services = ServiceController.GetServices()
        Dim instance() As String = Nothing
        For Each service As ServiceController In Services
            If service.ServiceName.Contains("MSSQL$") Then
                'S'il existe un service qui a dans son nom "MSSQL$", je récupère le nom de l'instance
                instance = Split(service.ServiceName, "$")
            End If
        Next
        If Not instance Is Nothing Then
            'si il existe le service, alors il y a un nom d'instance, alors j'attache la base de donnée
            Dim objSQL As SQLDMO.SQLServer
            'Sécurité avec le login windows
            objSQL.LoginSecure = True
            objSQL.Connect(My.Computer.Name + "\" + instance(1))
            For i As Int16 = 0 To objSQL.Databases.Count - 1
                If Not objSQL.Databases.Item(i).Name = "mabase" Then
                    'Je vérifie que la base de donnée n'est pas déjà dans le serveur, si elle n'y est pas je l'ajoute, en l'attachant.
                    objSQL.AttachDB("FrancisetJF", "[" + My.Request.PhysicalApplicationPath + "\App_Data\mabase.mdf],[" + My.Request.PhysicalApplicationPath + "\App_Data\mabase_log.ldf")
                End If
 
            Next
            objSQL.DisConnect()
        End If
    End Sub
De plus, j'ai un probleme, sans rien avoir trouvé sur le net...
Car, VS me dit :
erreur d'exécution ASP.NET : Aucun fournisseur de générations n'est inscrit pour l'extension '.asax'. Vous pouvez en inscrire un dans la section <compilation><buildProviders> de machine.config ou web.config. Vérifiez la présence de l'attribut BuildProviderAppliesToAttribute incluant la valeur 'Web' ou 'All'.
PS: détail, SQLDMO est une dll qui se trouve dans les répertoires ou vous avez installé SQL server