Date: 29.12.2018 9:21:04
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
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'
из-под веб сайта
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