|
Ошибка
|
|||
---|---|---|---|
#18+
помогите найти ошибку: Код: c# 1. 2. 3. 4.
первый запрос исполняется без проблем, а вот во втором - ошибка: Invalid object name '#test'. если убираешь # (не временная таблица, а постоянная) - всё работает. в чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:08 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Konst_Oneв разных батчах потому что Так ведь внутри ОДНОГО коннекта ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:14 |
|
Ошибка
|
|||
---|---|---|---|
#18+
=Сергей=Konst_Oneв разных батчах потому что Так ведь внутри ОДНОГО коннекта Connection один, а scope разный. Потому и вылетает ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:16 |
|
Ошибка
|
|||
---|---|---|---|
#18+
=Сергей=Konst_Oneв разных батчах потому что Так ведь внутри ОДНОГО коннекта Проверь что это действительно так Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:17 |
|
Ошибка
|
|||
---|---|---|---|
#18+
а вот если сделать так, то работает!!! Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:22 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Axeleron=Сергей=пропущено... Так ведь внутри ОДНОГО коннекта Connection один, а scope разный. Потому и вылетает ошибка. Ни причем тут scope. Это же #test а не @test так не сработает Код: sql 1. 2. 3.
а так работает Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:22 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Dima TНи причем тут scope. Активный scope как раз и причем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:25 |
|
Ошибка
|
|||
---|---|---|---|
#18+
AxeleronDima TНи причем тут scope. Активный scope как раз и причем. Это особенность чего? C#? Где почитать можно? Пользую временные таблицы (#test) и ни разу с подобной проблемой не сталкивался. Работает стабильно пока соединение не рвется. Из C# к MS SQL пока не пробовал цепляться, но в будущем актуально. Не хотелось бы на подобные грабли наступить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:41 |
|
Ошибка
|
|||
---|---|---|---|
#18+
используй ##test такие таблицы будут распространяться на соединение ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:46 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Shocker.Proиспользуй ##test такие таблицы будут распространяться на соединениесорри, я наврал, такая таблица будет видна всем ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:50 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Скорее всего ADO делает пулы коннектов внутри себя и может использовать разные коннекты по каким-то причинам. Я с таким сталкивался, когда работал с курсорами, как раз-таки временная таблица выпадала из области видимости. Выполняй один запрос, зачем в данном случае его разбивать на два??? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:56 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Dima TЭто особенность чего? C#? Где почитать можно? тут ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:57 |
|
Ошибка
|
|||
---|---|---|---|
#18+
скорее всего ты производишь на этом коннекте еще какие-то операции, и если у тебя там остался незакрытый рекордсет, то при выполнении нового запроса коннекшн (внутри АДО) будет клонирован. А когда в варианте с using ты используешь отдельный коннект для этой пары операций, такого не происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 14:59 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Shocker.Proскорее всего ты производишь на этом коннекте еще какие-то операции, и если у тебя там остался незакрытый рекордсет, то при выполнении нового запроса коннекшн (внутри АДО) будет клонирован. А когда в варианте с using ты используешь отдельный коннект для этой пары операций, такого не происходит. Нет, на самом деле открытый один коннект не гарантирует одной области видимости при выполнении команд с временными таблицами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:02 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Программное создание таблиц - ЗЛО ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:06 |
|
Ошибка
|
|||
---|---|---|---|
#18+
AxeleronDima TЭто особенность чего? C#? Где почитать можно? тут Если правильно понял @fparam1 у него теряется из-за scope. Это объяснение правдоподобнее Shocker.ProСкорее всего ADO делает пулы коннектов внутри себя и может использовать разные коннекты по каким-то причинам. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:08 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Dima T, Конекшн в данном примере как бы и не закрывался... А вот если он закрыл и открыл бы его опять, то, да, конекше был бы взят из пула коннекций с другой областью видимости. Так что эта теория не объясняет проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:15 |
|
Ошибка
|
|||
---|---|---|---|
#18+
AxeleronКонекшн в данном примере как бы и не закрывался...Коннекшн с точки зрения ADO (Connection) и коннекшн с точки зрения сервера (SPID) не обязательно эквивалентны. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:18 |
|
Ошибка
|
|||
---|---|---|---|
#18+
Shocker.ProAxeleronКонекшн в данном примере как бы и не закрывался...Коннекшн с точки зрения ADO (Connection) и коннекшн с точки зрения сервера (SPID) не обязательно эквивалентны. Я в принципе не очень-то и понял что именно ТС сделал, что у него заработало. Если стал использовать IDisposable SqlCommand'ы, то там никакой разницы, которая влияет на область видимости временной таблицы, быть не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:21 |
|
Ошибка
|
|||
---|---|---|---|
#18+
AxeleronDima T, Конекшн в данном примере как бы и не закрывался... А вот если он закрыл и открыл бы его опять, то, да, конекше был бы взят из пула коннекций с другой областью видимости. Так что эта теория не объясняет проблемы. Временная таблица (#temp) видна только в одном коннекшене (в котором ее создали), соответственно если запрос к этой таблице будет через другой коннекшн то будет ошибка Invalid object name '#test' (Еще хуже если она там тоже будет но с другой инфой). При этом оба коннекшена остаются открыты. Тут тоже самое написано 18540875 Теперь понятно. Проблема именно в пуле. Просто не знал что создается пул соединений. Работаю из фокспро, там сколько явно создал - столько и пользуешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:24 |
|
Ошибка
|
|||
---|---|---|---|
#18+
AxeleronЯ в принципе не очень-то и понял что именно ТС сделал, что у него заработало. Если стал использовать IDisposable SqlCommand'ы, то там никакой разницы, которая влияет на область видимости временной таблицы, быть не может.Он выделил ОТДЕЛЬНЫЙ коннекшн под эти две операции. Так как других операций с этим коннекшеном не производилось, ADO использовал для него один и тот же SPID. А в первом примере, который наверняка приведен не полностью, ТС скорее всего делал еще какие-то манипуляции до или во время этих операций. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 15:25 |
|
|
start [/forum/topic.php?fid=20&fpage=71&tid=1400978]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 324ms |
total: | 449ms |
0 / 0 |