2009-11-19 2 views
0

Файл mdf работает корректно в папке App_data, но после присоединения к серверу sql при ошибке asp.net отображается следующая ошибка.Файл mdf работает корректно в папке App_data, но после присоединения к серверу sql дает следующую ошибку:

Не удается открыть базу данных пользователя по умолчанию. Ошибка входа. Ошибка входа для пользователя 'Domain \ myUserName'.

Дополнительная информация; Источник данных SQL и строка подключения.

<asp:SqlDataSource 
     id="srcFiles" 
     ConnectionString="Server=.\SQLExpress;Integrated Security=True; 
      AttachDbFileName=|DataDirectory|FilesDB.mdf;User Instance=True" 
     SelectCommand="SELECT Id,FileName FROM Files" 
     InsertCommand="INSERT Files (FileName,FileBytes) VALUES (@FileName,@FileBytes)" 
     Runat="server"> 
     <InsertParameters> 
      <asp:ControlParameter Name="FileName" ControlID="upFile" PropertyName="FileName" /> 
      <asp:ControlParameter Name="FileBytes" ControlID="upFile" PropertyName="FileBytes" /> 
     </InsertParameters> 
    </asp:SqlDataSource> 

ответ

0

Вы можете убедиться, что вы правильно указать имя пользователя и пароль SQL или вы можете дать доступ «Домен \ MyUserName» к вашей базе данных. Проверьте приведенные ниже строки подключения.

Connection string samples

+0

вы указать = указать –

+0

просмотрите код строки подключения. –

+0

EXEC sp_grantlogin 'Домен \ MyUserName' USE имя_базы_данных EXEC sp_grantdbaccess 'Домен \ MyUserName' вы должны проверить следующую ссылку http://forums.asp.net/t/1296417.aspx –

0

Я не уверен, как файл MDF «работает правильно», если он просто сидит в папке и не привязан к SQL Server. Что вы подразумеваете под «правильной работой»?

В любом случае, какая версия SQL Server? Вы можете использовать sp_defaultdb установить базу данных по умолчанию для этого входа в другую базу данных, что вы знаете, есть, например:

EXEC sp_defaultdb @loginame = 'Domain\myUserName', @defdb = 'tempdb'; 

TechNet: sp_defaultdb

Если вы используете SQL Server 2005 или 2008, вы должны использовать ALTER LOGIN вместо этого, например

ALTER LOGIN [Domain\MyUserName] SET DEFAULT_DATABASE = tempdb; 

TechNet : ALTER LOGIN

0

Если вы используете Visual Studio, и вы создали локальную базу данных таким образом, и хотите знать, что «правильный» строка соединения:

1) Откройте сервер Проводник

2) в разделе «соединения данных» выберите свою базу данных и выберите «Свойства»

3) Посмотрите на «строку подключения» р roperty.

Это то, что вы должны использовать.

В вашем случае это возможно неверно, поскольку вы не указали параметр «Источник данных». Вот пример правильной строки подключения:.

Источник данных = \ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ Database1.mdf; Integrated Security = True; Instance Пользователь = True

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