2014-11-10 6 views
0

В моем WPF-приложении я хочу подключиться к базе данных.Переместить ConnectionString в App.config

Если я использую следующий код, он просто работает отлично:

string connectionString = @"Data Source=SERVER\ENGINE;Initial Catalog=MyDb;User ID=sa;Password=123456;"; 
SqlConnection connection = new SqlConnection(connectionString); 
connection.Open(); 

Теперь я переехал ConnectionString к моим App.config и хочу использовать оттуда с помощью следующего кода:

string connectionString = ConfigurationManager.ConnectionStrings[0].ConnectionString; 
SqlConnection connection = new SqlConnection(connectionString); 
connection.Open(); 

Теперь я получить SqlExecption:

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

выглядит следующим образом:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
    <connectionStrings > 
    <add connectionString="Data Source=SERVER\ENGINE;Initial Catalog=MyDb;User ID=sa;Password=123456;" name="connection"/> 
    </connectionStrings> 
</configuration> 

Почему это не работает?

+1

вы отлажены, чтобы увидеть, что 'ConfigurationManager.ConnectionStrings [0] .ConnectionString' фактически возвращает? также взгляните на это http://stackoverflow.com/questions/15015892/configurationmanager-connectionstrings-returns-extra-connection-string-from-mach – Ric

ответ

2

Попробуйте это: - (Предпочитают имен вместо индекса)

ConfigurationManager.ConnectionStrings["connection"].ConnectionString; 

Вы можете прочитать, почему мы должны Here.

+0

Хорошо. Так оно и работает. – Tomtom

Смежные вопросы