2013-03-31 2 views
0

Я просматриваю книгу, чтобы научить меня ASP.NET. Пока это так хорошо и даже на SQL в SQL Developer, но я не могу подключиться из внешних приложений.Строка подключения для Microsoft SQL Server 2008 R2 в ASP.NET

Я использую Visual Studio 2010 Pro SP1, SQL Server 2008 R2 Standard и Windows 7 Professional SP1 с использованием IIS 7.5. Язык, который я использую в ASP.NET, является VB.NET, но счастлив за C# ответов.

Я никогда не могу получить строку соединения рабочей

connectionString="Server=ASUS-P5Q\MSSQLSERVER;Database=Dorknozzle; User Id=xxxxxxxxx; Password=xxxxxxxxx;" 

Я всегда получаю следующее сообщение об ошибке

Server Error in '/' Application.
Login failed for user 'ASUS-P5Q\xxxxxx'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'ASUS-P5Q\xxxxxxx'.

Source Error:

Line 17: conn.Open()**

Я выключен контроль учетных записей пользователей, антивирус и брандмауэр, но ничего works :-(

+0

Почему' ASUS P5Q-\ MSSQLSERVER'? Вы пробовали простой 'localhost: port'? (Так как я думаю, вы пытаетесь подключиться с одного и того же компьютера) – walther

+0

Можете ли вы подключиться к этому серверу/базе данных/пользователю/передать комбо с помощью Sql Server Management Studio? Или получить результаты в командной строке: 'sqlcmd -S ASUS-P5Q \ MSSQLSERVER -d Dorknozzle -U xxx -P xxx -Q" выбрать * из таблицы "'? –

+0

Вы установили SQL Server с конкретным, именованным экземпляром или стандартным экземпляром по умолчанию?Если вы использовали экземпляр по умолчанию, тогда вы должны иметь возможность адресовать это как '.',' (local) 'или' ASUS-P5Q' в строке подключения - нет необходимости в 'MSSQLSERVER' в качестве имени экземпляра .... поэтому просто попробуйте: 'server = ASUS-P5Q; Database = ....' и посмотреть, работает ли это –

ответ

0

Как отметил @MTAdmin, вы, кажется, используют встроенную проверку подлинности ..

Вы можете использовать свой логин только в качестве учетных данных при использовании этого метода, поэтому убедитесь, что ваш пул приложений работает как этот пользователь (в этом случае «ASUS-P5Q \ xxxxxx») и используйте следующую строку подключения.

Server=ASUS-P5Q\MSSQLSERVER;Database=Dorknozzle;Integrated Security=SSPI;

Для дальнейшего использования, я рекомендую использовать ConnectionStrings.com, когда вы забываете, что подлое соединение строку, как я всегда делаю.

0

Появляется сообщение об ошибке, указывающее, что вы используете встроенную проверку подлинности (имя пользователя и пароль Windows). Существует ряд причин, по которым это может быть неудачным.

Для простоты вы также можете попробовать использовать аутентификацию Sql: создать пользователя в Sql и указать это имя пользователя и пароль в строке подключения. Обычно я начинаю с имени пользователя и пароля Sql, а затем выбираю мой окончательный метод проверки подлинности перед развертыванием.

0

Для подключения к локальной базы данных, вы можете использовать \ синтаксис как в:.. \ SQL2008:

connectionString="Server=.\MSSQLSERVER;Database=Dorknozzle; User Id=xxxxxxxxx; Password=xxxxxxxxx;Integrated Security=false;" 
0

Как я исправился, проблема заключалась в том, что я создал пользователя в SQL Management Studio и использовал аутентификацию пользователя SQL Server. Это строка, которая работала для меня в конце ...

connectionString = "Источник данных = ASUS-P5Q \ MSSQLSERVER, 1433; Начальный каталог = Dorknozzle; Integrated Security = False; User ID = SQLDT; Password = ###» ProviderName = "System.Data.SqlClient"/>

спасибо, ребята за вашу помощь :)

0
using System; 
using System.Collections.Generic; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Text; 

namespace User_Management 
{ 
    class DatabaseConnection 
    { 
     public string GetConnectionString() 
     { 
      return @"server=AFORE\MSSQLSERVER; Integrated Security=SSPI; Database = prictice;"; 
     } 

     public SqlConnection GetConnectionObj() 
     { 
      SqlConnection connectionObj=new SqlConnection(GetConnectionString()); 
      connectionObj.Open(); 
      return connectionObj; 
     } 
     public void ExecuteSqlCommandAndCloseConnection(string insertQueryString, SqlConnection connectionObj) 
     { 
      SqlCommand sqlCommandObj = new SqlCommand(insertQueryString, connectionObj); 
      sqlCommandObj.ExecuteNonQuery(); 
      connectionObj.Close(); 
     } 
     public void ExecuteSqlCommandOnly(string insertQueryString, SqlConnection connectionObj) 
     { 
      SqlCommand sqlCommandObj = new SqlCommand(insertQueryString, connectionObj); 
      sqlCommandObj.ExecuteNonQuery(); 

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