problème de connexion SQL Server
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:
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 :
Citation:
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:
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...