Здравствуйте, corpse56, Вы писали:
C>Здравствуйте!
C>сабж выдает такую команду: C>
C>UPDATE [ISSUED] SET [ID] = @p1
C>
C>дело в том, что у меня иногда из-за этого вылетает, потому что требует имя базы. т.е. команда если б выглядела вот так:
C>
C>UPDATE ReservedR..[ISSUED] SET [ID] = @p1
C>
C>то никаких вопросов бы... C>Скажите, что можно с этим сделать? C>я кроме как вручную переписать все команды не вижу других способов...
C>в подключении указан правильный Initial Catalog C>Использую vs 2008 и ms sql 2005
SqlCommandBuilder.QuotePrefix
?
... << RSDN@Home 1.2.0 alpha 4 rev. 1481>>
Re[2]: SqlCommandBuilder не совсем так строит команду...
Здравствуйте, corpse56, Вы писали:
C>сабж выдает такую команду:
C>UPDATE [ISSUED] SET [ID] = @p1
C>дело в том, что у меня иногда из-за этого вылетает, потому что требует имя базы. т.е. команда если б выглядела вот так:
C>UPDATE ReservedR..[ISSUED] SET [ID] = @p1
C>то никаких вопросов бы... C>Скажите, что можно с этим сделать?
Странно, зачем это может понадобиться (почему вылетает )
Отладив DbCommandBuilder::BuildInformation (четвёртый фреймворк) можно заметить, что для того, что бы имя базы данных (каталога) было бы указано в получающихся командах, требуется в SelectCommand адаптера указать и имя каталога и имя схемы (пустая не прокатит):
var connectionString = new SqlConnectionStringBuilder {
DataSource = ".",
InitialCatalog = "Northwind",
IntegratedSecurity = true,
};
using(var connection = new SqlConnection(connectionString.ToString()))
using(var select = new SqlCommand("SELECT * FROM [Northwind].[dbo].[Orders];", connection))
using(var adapter = new SqlDataAdapter(select))
using(var builder = new SqlCommandBuilder(adapter))
using(var insert = builder.GetInsertCommand())
//using (var update = builder.GetUpdateCommand())
//using (var delete = builder.GetDeleteCommand()) {
Console.WriteLine(insert.CommandText);
}//using
Здравствуйте, Nikolay_P_I, Вы писали:
_FR>>Странно, зачем это может понадобиться (почему вылетает )
N_P>Почему у автора вылетает — не знаю, а вот явное указание всяких [dbo] советует оптимизатор от SQL-сервера.
А где именно (пруфлинк) советует?
Help will always be given at Hogwarts to those who ask for it.
Re[2]: SqlCommandBuilder не совсем так строит команду...
_FR>Странно, зачем это может понадобиться (почему вылетает )
вылетает иногда! один раз вылетает, один раз нет... я не могу догадаться что именно происходит в промежутках. единственная мысль — это что по этому же соединению иногда запрашиваются данные из разных баз.
если я пойму что конкретно — обязательно отпишусь.
_FR>Отладив DbCommandBuilder::BuildInformation (четвёртый фреймворк) можно заметить, что для того, что бы имя базы данных (каталога) было бы указано в получающихся командах, требуется в SelectCommand адаптера указать и имя каталога и имя схемы (пустая не прокатит):
спасибо! это работает!
Re[4]: SqlCommandBuilder не совсем так строит команду...
Здравствуйте, _FRED_, Вы писали:
_FR>>>Странно, зачем это может понадобиться (почему вылетает ) N_P>>Почему у автора вылетает — не знаю, а вот явное указание всяких [dbo] советует оптимизатор от SQL-сервера. _FR>А где именно (пруфлинк) советует?
Пруфлинк — я
А если подробнее — как-то столкнулись с ситуацией, когда Tuning Advisor не понимал запись вида [Table], но понимал запись вида [dbo].[Table] или понимал, но советовал указывать [dbo] явно — не помню. Мы тогда просто стали полную строку формировать, да и забыли про то. MS SQL 2005.
Re[3]: SqlCommandBuilder не совсем так строит команду...
Здравствуйте, corpse56, Вы писали:
_FR>>Странно, зачем это может понадобиться (почему вылетает ) C>вылетает иногда! один раз вылетает, один раз нет... я не могу догадаться что именно происходит в промежутках. единственная мысль — это что по этому же соединению иногда запрашиваются данные из разных баз.
Выделенное как раз и объясняет. Вопрос в том, действительно ли нужно "по этому же соединению" запрашивать "данные из разных баз"
Help will always be given at Hogwarts to those who ask for it.