Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 13.07.2007
Сообщений: 72

Проблема с Application('oConn').Open 'string_connect'

23.01.2008, 14:42. Показов 2940. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если я использую в GLOBAL.ASA
<CODE>
set Application('oConn') = Server.CreateObject('ADODB.Connection')
Application('oConn').Open 'string_connect'
</CODE>
А потом буду использовать открытый коннект к MSSQL ( Application('oConn').Open ) на других страницах - это даст мне выиграш ( проиграш ) в скорости ? Предполагается что подключение к базе и отключение - самая дорогостоящая операция для MSSQL. Кроме того будет использован ОДИН коннект к базе для все ЮЕРОВ или нет ? Вообщем что лучше - на каждой странице делать CONNECT/DISCONNECT или один раз CONNECT и хранить это в APPLICATION переменной ? Please проясните ситуацию ? Заранее благодарен .
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2008, 14:42
Ответы с готовыми решениями:

Window.Open - проблема открытия страницы в отдельном окне
Есть страница, на которой выоложена масса ссылок на тексты (электронная библиотека). Хочу, чтобы каждая ссылка открывалась в отдельном...

Проблема с чатом: HTTP Error 500-12 Application Restarting Internet Information Services
У меня есть Win2000 Server c IIS 5 Я взял бесплатный чат на ASP http://www.theill.com/asp/conquerchat.asp при заходе нового...

Dim XL As New Excel.Application xls.Workbooks.Open FileName не работает
Использую код: Dim XL As New Excel.Application xls.Workbooks.Open FileNameНе работает под Win98. Выдается ошибка 'automation error'....

29
Sergik
23.01.2008, 17:19
Студворк — интернет-сервис помощи студентам
to negorro: подключение действительно занимает продолжительное время, об этом везде написано, хотя его может и не произойти если в пуле потоков есть свободное (которое вы connection.close закрыть хотели, а вот закрывается ли оно или вы просто теряете время на этот close впустую это еще вопрос)
Sergik
23.01.2008, 17:25
to acver: ну если ты аутентификацию проводишь, то тем более не следует отходить от компьютера, когда кто-то другой может подойти и че-нибудь натворил. Ну а в общем в твоем случае конечно не следует подключенние в сессии хранить, если оно нужно только для одной страницы
0 / 0 / 0
Регистрация: 03.03.2007
Сообщений: 140
23.01.2008, 17:43
>1) connection pooling работает на уровне ODBC ему пофигу что ты там в ASP пишешь

У нас раньше было так: в переменной сессии создавался коннект, а в ASP-страницах делали ссылку на него. При этом pooling не работал. Число коннектов к базе равнялось числу web-клиентов

Если же стали в каждой странице создавать свой конект, то pooling стал работать.

>2) хранить строковую переменную в Application быстрее чем напрямую ее указать в скрипте? ну-ну...

Я не это имел ввиду, просто так удобнее. Если строка поменяется не надо ее менять по всему сайту. (можно, конечно, хранить не в Application а в include-файле)
0
0 / 0 / 0
Регистрация: 27.12.2007
Сообщений: 140
23.01.2008, 17:50
>..продолжительное время, об этом везде написано,
2 Sergik ;-)) Заметил мы поменялись ролями - теперь Я с секундомером а ТЫ про документацию.
Вариант 1) Быстро но чревато.
Вариант 2) Медленно но сердито.
pooling-интересная штука.Надо покопаться.
0
Sergik
23.01.2008, 17:58
to negorro: я про документацию насчет секундомера :-)
to Sergey A: Смотря что подразумевать под работой Connection pooling. Естественно, что количество соединений не может быть меньше числа работающих с БД на текущий момент пользователей, а с Session они открыты постоянно; я согласен, что с Session будет висеть больше соединений, чем требуется, но если в каждом втором скрипте все равно приходится создавать соединение, то Session будет предпочтительнее.
0 / 0 / 0
Регистрация: 27.12.2007
Сообщений: 140
23.01.2008, 18:00
>>..а в include-файле)
Во во !! У меня такой файл первой строкой на каждом АСПе.
0
1 / 1 / 0
Регистрация: 21.06.2007
Сообщений: 654
23.01.2008, 21:03
>В Global.asa создать Application переменную в которой просто >прописать значение строки коннекта,
>а на каждой странице создавать новый коннект и закрывать его
>используя эту строку)

Прикол Строка это и есть строка. Где ее не прописывай.
А вот объект связанный с базой это уже совсем другое дело.
0
1 / 1 / 0
Регистрация: 21.06.2007
Сообщений: 654
24.01.2008, 13:03
А я еще так делал:
делаешь функцию которая возвращает объект подключения и вызываешь ее когда надо. получается нечто такое

function connectDB()

set localConn=Server.CreateObject('ADODB.Con nection')
localConn.Open connection_string

connectDB=localConn

end function

set connDB=connectDB()
0
0 / 0 / 0
Регистрация: 19.12.2007
Сообщений: 33
30.01.2008, 08:36
To Sergic> Под пуллингом понимается вот что.
Пусть ты открываешь и закрываешь на каждой странице объект Connection.
Причем делаешь коннект к одной и той же БД.

Тогда вот что такое пуллинг: Ты РЕАЛЬНО создаешь Connection объекты только один раз, потом, когда ты закрываешь его Close он на самом деле не убивается, а лежит себе спокойненько в кэше.
При следующем вызове CreateObject('ADODB.COnnection') он НЕ СОЗДАЕТ объект, а берет СВОБОДНЫЙ Объект из кэша.
0
Sergik
30.01.2008, 10:01
to Mazenrab: я знаю что такое пулинг
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2008, 10:01

ошибка: 'Run-time error 3705. The operation requested by the application is not allowed if the object is open.'
Private Sub cmdPrint_Click() DataForGaranty.Garanty.ConnectionString = 'Provider=Microsoft.Jet.OLEDB.3.51;Persist Security...

Проблема с Windows Form Application C++
Всем привет! История моя такова...Я создал программку на Visual studio 2008 а именно выбрал проект Windows Form Application. Потом данную...

Проблема с методом Open в ADO
Господа! Проблема такая. Пишу: sFile = App.Path + &quot;&quot; + cbTests.Text + sExt MyCon.Open &quot;Provider=Microsoft.Jet.OLEDB.4.0; Data...

Проблема с COM и MFC Dialog-based Application
Уважаемый Олл! В Visual C++ знаний крайне немного, начал разбираться и столкнулся с проблемой, причину которой не могу понять. В...

проблема с функцией ExecSQL (Too many open tables)
Люди помогите в следующем. Использую Delphi 7, система Windows 7. Есть SQL запрос для добавления записей в таблицу (Paradox)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru