|
|
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Не хотелось бы занимацо кросс-постингом , но, пока неизвестно Кто виноватЪ? И, главное, Что делатЪ? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 18:12 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
ASE не даёт одновременно несколько открытых запросов держать. OLEDB для второго запроса автоматически открывает новую сессию. Это нормально (Perl DBD::Sybase так же поступает), но при управлении транзакцией с клиента надо учитывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 05:14 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
sn1251 ASE не даёт одновременно несколько открытых запросов держать. OLEDB для второго запроса автоматически открывает новую сессию. Т.е. Вы хотите сказать, что что-то недовыбралось? Что? Что может недовыбрацо на Код: plaintext 1. 2. 3. 4. Хотя... Поигралсо я тут с провайдерами: два коннекта только у ASE OLE DB Provider (sydaase.dll ver. 2.70.0.23). ASE OLE DB Provider (sydaase.dll ver. 2.70.0.32), Sybase OLEDB Provider for ASE (sybdrvoledb.dll ver. 15.0.0.162), Sybase.Data.AseClient.dll ver. 1.15.162.0, SYBASE ASE ODBC Driver (syodase.dll ver. 4.20.0.15): все сухо - один коннект. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 07:42 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft пишет: > Т.е. Вы хотите сказать, что что-то недовыбралось? Что? Что может > недовыбрацо на > > cn.Open(); > cmd.CommandText="select @@spid"; > if((tmpObject=cmd.ExecuteScalar())!=null) > spid=Convert.ToInt64(tmpObject); Вот эта одна строка и может не выбраться. При большом желании запросто можно так сделать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 12:07 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Гм... Ну и что же там может не выбирацо? @@spid возвращаецо ж... _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 13:21 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_SoftГм... Ну и что же там может не выбирацо? @@spid возвращаецо ж...Ну и что? Ответь на вопрос: когда резалтсет считается полностью выбранным? Правильный ответ: когда клиент явно сказал серверу "я закончил работу с резалтсетом". Где у тебя в исходнике команда закрыть резалтсет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 16:08 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
White Owl пишет: > Ответь на вопрос: когда резалтсет считается полностью выбранным? > Правильный ответ: когда клиент явно сказал серверу "я закончил работу с > резалтсетом". Где у тебя в исходнике команда закрыть резалтсет? Действительно, Close() -то где ? Ну или что там у вас в OLEDB ... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 16:13 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Одну минутку ;) 1. MasterZiv Close() -то где ? да нет пока Close() - там еще дальше много телодвижений с БД происходит White Owl Где у тебя в исходнике команда закрыть резалтсет? В моем исходнике такой команды и быть не должно: все это должно происходить внутри провайдера при выполнении OleDbCommand.ExecuteScalar(). Опять же: Ex_Soft Поигралсо я тут с провайдерами: два коннекта только у ASE OLE DB Provider (sydaase.dll ver. 2.70.0.23) . ASE OLE DB Provider (sydaase.dll ver. 2.70.0.32) , Sybase OLEDB Provider for ASE (sybdrvoledb.dll ver. 15.0.0.162), Sybase.Data.AseClient.dll ver. 1.15.162.0 , SYBASE ASE ODBC Driver (syodase.dll ver. 4.20.0.15) : все сухо - один коннект . _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 17:48 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft White Owl Где у тебя в исходнике команда закрыть резалтсет? В моем исходнике такой команды и быть не должно: все это должно происходить внутри провайдера при выполнении OleDbCommand.ExecuteScalar().ээээ... Уточни пожалуйста, а что это вообще за библиотека такая? Явно какой-то враппер над OLE DB, но что это конкретно такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 18:05 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
White Owl Уточни пожалуйста, а что это вообще за библиотека такая? Std System.Data.OleDb (FW 1.1/FW 2.0) _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 01:42 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft пишет: > Close() -то где ? > > > да нет пока Close() - там еще дальше много телодвижений с БД происходит > White Owl Statement-то закрыть надо ! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 09:50 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Statement-то закрыть надо ! Не пон... На пальцах можно? Вы от меня хотите что-ли (образно говоря) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 11:56 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Я совсем не знаю OLEDB, но во всех CLI обычно стейтмент (запрос) аллоцируется, выполняется, опционально фетчатся из него данные, потом он (стейтмент) закрывается. Вот этого "стейтмент закрывается" у тебя видимо нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 12:13 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
MasterZiv пишет: > Вот этого "стейтмент закрывается" у тебя видимо нету. Я поглядел в MSDN , видимо либо это .Cancel , либо .Dispose. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 12:19 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Да ляно... Замяли... Грешу на ASE OLE DB Provider (sydaase.dll ver. 2.70.0.23 ) Потому как выше приведенный код Ex_Soft ASE OLE DB Provider (sydaase.dll ver. 2.70.0.32) , Sybase OLEDB Provider for ASE (sybdrvoledb.dll ver. 15.0.0.162) , Sybase.Data.AseClient.dll ver. 1.15.162.0 , SYBASE ASE ODBC Driver (syodase.dll ver. 4.20.0.15) : все сухо - один коннект. P.S. /me думает: такой асортимент, а ни одно по-людськи не фунциклирует ... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 12:38 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft wrote: > P.S. /me думает: такой асортимент, а *ни одно* по-людськи не > фунциклирует.... Ну хоть глючит-то оно по-разному :)? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 12:41 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_SoftНе пон... На пальцах можно? Вы от меня хотите что-ли (образно говоря)Мы от тебя хотим отчета о запуске такого кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 16:03 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Dim2000 Ну хоть глючит-то оно по-разному :)? Само собою ASE OLE DB Provider (sydaase.dll) 2.70.0.23 : 1. Рожает лишний коннект 2. в OleDbCommandBuilder.DeriveParameters()перемешивает ParameterDirection Input -> Output 2.70.0.32 : 1. Входит в ступпор OleDbCommand.ExecuteScalar() 2. Входит в ступпор OleDbDataAdapter.Fill(DataSet,TableName) (по причине неприменимости из-за п.1 - даже не выставлялсо) м.б. в природе ЭстЪ и другие версии , но мне о них - неизвестно Sybase OLEDB Provider for ASE (sybdrvoledb.dll) 15.0.0.130 - 15.0.0.162 : 1. Не фунциклирует OleDbConnection.ChangeDatabase() 2. Падает в транзакции OleDbCommandBuilder.DeriveParameters() 3. Кривой OleDbConnection.ServerVersion 4. Если юзать домены (User Defined datatypes) неправильно возвращаецо OleDbType Sybase.Data.AseClient.dll 1.15.162.0 FW1.1 - по сему сильно не гонялсо SYBASE ASE ODBC Driver (syodase.dll) 4.20.0.15 : 1. Входит в ступор OdbcCommandBuilder.DeriveParameters(odbc_cmd) 2. Не передает параметры при вызове SP посредством Код: plaintext Sybase ODBC Driver for ASE (sybdrvodb.dll) 15.0.0.162 : 1. Не передает параметры при вызове SP посредством Код: plaintext В принципе, я так думаю, этот список будет еще пополняцо... Как так можно Хотя... Это сладкое слово - откат ... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 16:04 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
ASE OLE DB Provider (sydaase.dll) 2.70.0.23 Код: plaintext Код: plaintext Посредством всего остального: Код: plaintext По поводу cmd.Cancel() : 1. В ADO.NET я нигде не встречал применение cmd.Cancel(). Я так подозреваю - это довольно-таки нетрадиционный метод. 2. Насколько я понял, cmd.Cancel() делает попытку прекратить выполнение команды. Но команда-то уже выполнена - что ж прекращать-то? 3. Даже если, что-то было бы еще на отдачу клиенту и клиент это не забрал, то, IMHO, должен бы сгенерицо exception _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 16:43 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft пишет: > 2. Насколько я понял, cmd.Cancel() делает попытку *прекратить > выполнение* команды. Но команда-то уже выполнена - что ж прекращать-то? Пока все данные не выбраны, комманда не закончена. Как ты можешь быть уверен, что все данные выбраны, в твоем коде ? > 3. Даже если, что-то было бы еще на отдачу клиенту и клиент это не > забрал, то, IMHO, должен бы сгенерицо exception Это уж я не знаю как там у вас. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 17:00 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Как ты можешь быть уверен, что все данные выбраны, в твоем коде? 1. SQL Advantage Код: plaintext 1. 16 (1 row affected) 2. MSDN OleDbCommand.ExecuteScalar Method Executes the query, and returns the first column of the first row in the result set returned by the query. Extra columns or rows are ignored. 3. Выполняецо Код: plaintext 1. Код: plaintext 1. 2. 3. А. Какие еще доказательства нужны? Б. Почему, при прочих равных условиях, на других провайдерах/драйверах все сухо? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 17:14 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Сдается мне, что ExecuteScalar сама создает нужный ей коннект, а посему самый первый open() и последний close() работают вхолостую, создавая никому не нужный коннект. Потести без этих open/close. ExecuteScalar по идее сама содержит в себе открытие курсора, выборку резалтсета и закрытие курсора. Это как dw.retrieve() в пауэрбилдере. Поэтому Cancel() - это не то, что спасет "отца русской демократии". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2007, 09:39 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft пишет: > А. Какие еще доказательства нужны? Хорошо, почему же оно у тебя тогда не работает, если ты такой умный ? Ладно, не знаю больше что тут можно посоветовать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2007, 11:22 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
iLLer Сдается мне, что ExecuteScalar сама создает нужный ей коннект Да - не... Это Вы с OleDbDataAdapter попутали... ;) System.InvalidOperationException.Message ExecuteScalar requires an open and available Connection. The connection's current state is Closed. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2007, 11:23 |
|
||
|
Зачем открывать еще один коннект?
|
|||
|---|---|---|---|
|
#18+
MasterZiv почему Ну... Для себя, исходя из выше сказанного/приведенного, я сделал вывод - из-за ASE OLE DB Provider (sydaase.dll ver. 2.70.0.23 ) OLEDB небось пол Индии пишет. MasterZiv не работает А кто сказал, что "не работает"? Оно - работает. Но создает лишний коннект. MasterZiv не знаю больше что тут можно посоветовать Да, вот, я тоже в прострации Исходя из , получаецо: вообще ничего более-менее нормального - ниц Можно, правда, используйте нормальные библиотеки - OPEN CLIENT подумать еще над этим... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2007, 11:40 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34908106&tid=2011812]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
335ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 665ms |

| 0 / 0 |
