2016-03-18 3 views
-2

Мне нужно передать имя пользователя и пароль, чтобы любой пользователь мог запускать хранимые процедуры в базе данных. В моем веб-конфигурации я мой код установлен в этомСтроки подключения в веб-конфигурации

<appSettings> 
    <add key="Connection1" value="server=validserver;database=validdatabase;uID=validuserid;password=validpassword;" /> 
</appSettings> 

И в моей C# - я первый набор переменная равна связи, как так:

public const string MainDBConn = "Connection1"; 

и в любое время я хочу, чтобы использовать эту функцию строка соединения Я называю это, как этот

RunSQLQuery(MainDBCon, "nameofstoredprocedure"); 

Однако я получаю эту ошибку, брошенный, который мне говорит, что это неверная строка conenction, но мое имя сервера, базы данных, идентификатор пользователя и пароль корректными. ..

Format of the initialization string does not conform to specification starting at index 0

Что мне изменить, чтобы я мог использовать эту строку подключения в своем синтаксисе для подключения к экземпляру моего сервера?

EDIT Изменяя мою строку подключения, чтобы быть

ConfigurationManager.ConnectionStrings["Connection1"].ConnectionString; 

Сейчас производит ошибку:

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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

EDIT 2
Я изменил мое подключение к WebConfig как предложено @Khazratbek в его ответе, и теперь я получаю эту ошибку:

Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement.
This could be because the pre-login handshake failed or the server was unable to respond back in time.
The duration spent while attempting to connect to this server was - [Pre-Login] initialization=3672; handshake=0;

Это странно для меня, как я мой таймаут установлен в 0, что, если я правильно понимаю, следует установить, что это не тайм-аут

CommandTimeout = 0; 
+0

струнный conString = WebConfigurationManager.ConnectionStrings ["Connection1"]. ConnectionString; – Khazratbek

+0

Я считаю, что вы просто передаете строчную константу MainDBConn, чтобы построить соединение, а не фактическую строку соединения, поэтому вы получаете ошибку. – Harsh

+0

попытаться проверить, запущена ли служба SQL Server? эта ошибка связана с тем, что службы SQL не запущены или имя вашего сервера неверно. – Saif

ответ

1

Строка соединения в web.config обычно так:

<connectionStrings> 
<add 
name="connectionStringName" 
connectionString="Data Source=serverName;Initial 
Catalog=yourDatabase;Persist Security Info=True;User 
ID=userName;Password=password" 
providerName="System.Data.SqlClient" 
/> 

, а затем прочитать соединение, как:

System.Configuration.ConfigurationManager. 
ConnectionStrings["connectionStringName"].ConnectionString; 

Выполните следующие действия для подключения к серверу SQL:

1 Нажмите кнопку Проводник сервера в визуальной студии, а затем нажмите на него, добавить соединение будет отображаться.

2- Введите имя и пароль сервера и нажмите ОК.

3- Перейти к свойствам и скопировать строку подключения.

4 паста скопирована строка соединения здесь

connectionString="copied connection string" 

enter image description hereenter image description here

+0

Я пробовал ваш синтаксис выше, см. Мое редактирование, которое я получаю сейчас. –

+0

Перейти к началу> все программы> Microsoft SQL Server> Инструмент настройки> и щелкните диспетчер конфигурации SQL Server. И затем запустите SQL Server (MSSQLSERVER) – Saif

+0

см. Мой обновленный ответ – Saif

1

Прежде всего, в сети.конфигурации вы должны добавить не AppSettings и следующий:

<connectionStrings> 
    <add name="Connection1" connectionString="Server=validserver;uid=validuserid;pwd=validpassword;database=validdatabase"/> 
</connectionStrings> 

Затем на странице:

using System.Web.Configuration; 

И строка подключения будет:

string ConnectionString = WebConfigurationManager.ConnectionStrings["Connection1"].ConnectionString; 
+0

. Где находятся соединительные строки? (что является родителем) –

+0

@RuneJeppesen * configuration * tag – Khazratbek

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