Ответы с форумов MSDN

SQL Server User Instance

Date: 29.12.2018 9:21:04

Я предлагаю избавиться от User Instance. Во первых, эта технология устарела, во вторых, она вообще на мой взгляд не очень полезна. Используйте LocalDB, если вам действительно нужен подобный функционал в новых версиях SQL Server.

Message 323

Date: 29.12.2018 14:59:33

Выдать права на доступ к папке учетной записи, под которой работает SQL Server. Ее можно посмотреть в Диспетчере конфигурации SQL Server в свойствах службы, по умолчанию это вроде Network Service. Если база находится в корне диска, скорее всего, вам также придется запускать приложение с повышенными привилегиями UAC.

Кроме того, вы используете параметр AttachDbFilename, который открывает файл базы в монопольном режиме. Это значит, что вы не можете одновременно открыть базу и в программе, и в SQL Server management Studio. Обычно рекомендуется не использовать AttachDbFilename, а присоединять базу вручную через SQL Server management Studio, и подключаться, указывая ее как параметр InitialCatalog

Message 320

Date: 01.01.2019 8:09:01

Строка соединения в обоих случаях точно одинаковая и без User Instance? То, что вы описываете (в обычном приложении одно, а в веб-сайте другое) как раз очень похоже на симптомы User Instance. 

Никаких диалектов TSQL, насколько я знаю, не существует. Более того, у вас простейший запрос, который почти соответствует стандартному SQL, за исключением наличия схемы. Если он завершается с ошибкой, значит в текущем контексте не видна либо схема dbo, либо таблица test. Добавление явного указания на базу что нибудь меняет? Покажите результат запроса 

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'

из-под веб сайта

Message 318

Date: 02.01.2019 9:51:55

Попробуйте вторую базу тоже присоединить к SQL Server (с другим именем, разумеется) и подключаться к ней так же через Initial Catalog. AttachDbFilename все же заточен под User Instance в старых версиях SQL Server Express, как он работает в новых версиях SQL Server, если честно не знаю, возможно вообще не работает...

"Вы предложили интересный запрос, но я никак не соображу как реализовать чтение ответа на этот вопрос в C#"

Например так:

var dt = new DataTable();

using (var adapter = new System.Data.SqlClient.SqlDataAdapter("SELECT ...", connection))
{
    adapter.Fill(dt);
}

StringBuilder sbResult = new StringBuilder();

foreach (DataRow dataRow in dt.Rows)
{
  foreach (var item in dataRow.ItemArray)
  {
    sbResult.Append(item.ToString()+"; ");
  }
  sbResult.AppendLine();
}
Потом sbResult.ToString() выводите куда нибудь в HTML, чтобы посмотреть его


Автор: VadimTagil

Главная страница - Список тем - Репозиторий на GitHub