Bonjour,

je débute en C# et essaie ma première application pour me connecter à SQL Server en local. Voici ma config :
Windows Vista Business, .net 4, SQL Server Express 2008, V Studio Express 2010.
J'ai créé un projet ConsoleApplication1, auquel j'arrive à accéder via un browser (firefox). Voici son code :
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
29
30
31
32
33
34
35
36
37
38
using System;
using System.Data.SqlClient;
 
namespace ConsoleApplication1
{
    class ConsoleApplication1
    {
        [STAThread] // uses single threaded apartment model (STA)
        static void Main(string[] args)
        {
 
 
            Console.Write("Content-Type: text/html\n\n");
            Console.Write("<html><head><title>Test SQL Server</title></head><body>");
 
            System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder();
            builder.DataSource="monpc\\SQLEXPRESS";
            builder.IntegratedSecurity = false;
            builder.InitialCatalog = "mabase";
            builder.UserID = "moi";
            builder.Password = "secret";
 
            Console.Write("<br/>" + builder.ConnectionString + "<br/>");
            Console.Write("</body></html>");
            string connectionString = builder.ConnectionString;
 
            try
            {
                SqlConnection vConnection = new SqlConnection(connectionString);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception : {0}", e);
            }            
 
        }
    }
}
Voici ce qui s'affiche :


Data Source=monpc\SQLEXPRESS;Initial Catalog=mabase;Integrated Security=False;User ID=moi;Password=secret
Exception : System.TypeInitializationException: Une exception a été levée par l'initialiseur de type pour 'System.Data.SqlClient.SqlConnection'. ---> System.TypeInitializationException: Une exception a été levée par l'initialiseur de type pour 'System.Data.SqlClient.SqlConnectionFactory'. ---> System.TypeInitializationException: Une exception a été levée par l'initialiseur de type pour 'System.Data.SqlClient.SqlPerformanceCounters'. ---> System.Configuration.ConfigurationErrorsException: Échec de l'initialisation du système de configuration ---> System.Configuration.ConfigurationErrorsException: Une erreur s'est produite lors du chargement d'un fichier de configuration : Accès refusé. ---> System.Security.SecurityException: Accès refusé. à System.Security.Principal.WindowsIdentity.SafeImpersonate(SafeTokenHandle userToken, WindowsIdentity wi, StackCrawlMark& stackMark) à System.Security.Principal.WindowsIdentity.SafeRevertToSelf(StackCrawlMark& stackMark) à System.Security.Principal.WindowsIdentity.Impersonate(IntPtr userToken) à System.Configuration.ClientConfigurationHost.Impersonate() à System.Configuration.BaseConfigurationRecord.Impersonate() à System.Configuration.BaseConfigurationRecord.InitConfigFromFile() --- Fin de la trace de la pile d'exception interne --- à System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal) à System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors) à System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors() à System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey) --- Fin de la trace de la pile d'exception interne --- à System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey) à System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName) à System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) à System.Configuration.ConfigurationManager.GetSection(String sectionName) à System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName) à System.Diagnostics.DiagnosticsConfiguration.GetConfigSection() à System.Diagnostics.DiagnosticsConfiguration.Initialize() à System.Diagnostics.DiagnosticsConfiguration.get_SwitchSettings() à System.Diagnostics.Switch.InitializeConfigSettings() à System.Diagnostics.Switch.InitializeWithStatus() à System.Diagnostics.Switch.get_SwitchSetting() à System.Data.ProviderBase.DbConnectionPoolCounters..ctor(String categoryName, String categoryHelp) à System.Data.SqlClient.SqlPerformanceCounters..ctor() à System.Data.SqlClient.SqlPerformanceCounters..cctor() --- Fin de la trace de la pile d'exception interne --- à System.Data.SqlClient.SqlConnectionFactory..cctor() --- Fin de la trace de la pile d'exception interne --- à System.Data.SqlClient.SqlConnection..cctor() --- Fin de la trace de la pile d'exception interne --- à System.Data.SqlClient.SqlConnection..ctor() à System.Data.SqlClient.SqlConnection..ctor(String connectionString) à ConsoleApplication1.ConsoleApplication1.Main(String[] args) dans E:\Documents\Visual Studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs:ligne 31
Je précise que j'accède à cette base de données via ASP (ADODB) par les mêmes uid/pwd sans problème, et que bien entendu mon SQL Server répond sans problème.

Info supplémentaire : j'ai créé sans trop y croire un fichier de config pour mon projet dont voici le contenu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="ApplicationTitle" value="Console Application 1" />
  </appSettings>
</configuration>
Je pense qu'il me manque des informations sur le fonctionnement de la plateforme .net. Merci à quiconque prendra pitié de mon ignorance... Je ne demande évidemment pas qu'on code à ma place, mais si quelqu'un pouvait me mettre sur la voie...

Merci d'avance.

j'avais oublié de préciser que la connexion à SQL server fonctionne dans la console où s'affiche par exemple le contenu d'une table après requête ; il n'y a donc que dans le browser que j'ai ce long message d'erreur qui me laisse perplexe...