Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: VBScript_SQLServer2000 Добавлено: 17.08.04 13:15  

Автор вопроса:  St@s | ICQ: 289429121 
Привет!
Работаю над архивом SCADA системы. Использую встроеный в SCADA систему VBScript и SQLServer 2000. Каждую секунду в БД записываются состояния всех объектов SCADA системы. Надо последовательно вычитывать строки из БД для просмотра состояния объектов за какой то промежуток времени, чтобы получилось типа "кино".
Есть проблемка в скорости вычитывания данных из БД.
В начале таблицы вычитывает быстро. Можно вести просмотр с интервалом в 1 секунду и меньше. Но если строк в таблице больше 50 тыс. скорость снижается.

Для доступа к БД использую следующий код:

Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")
rs.open "day_" & user_dd, "DSN=movie;UID=;PWD=;", 0, 1, 2
...
hours = rs.fields("hour")
mins = rs.fields("min")
sec = rs.fields("sec")
...

Посоветуйте как быть.
Заранее спасибо.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 shareman



Вопросов: 11
Ответов: 37
 Профиль | | #1 Добавлено: 20.08.04 00:55
1. Проиндексировать таблицу
2. Написать stored procedure с нормальным критерием, а не тащить всю таблицу целиком - ты же сервер душишь.
3. Подключаться не через строчку каждый раз, а явно объявить connection.
4. Вместо rs.fields("min";) - rs!min

Ответить

Номер ответа: 2
Автор ответа:
 St@s



ICQ: 289429121 

Вопросов: 4
Ответов: 9
 Профиль | | #2 Добавлено: 20.08.04 10:30
Переделал таким образом:

Dim rs As Object
Dim cn As Object

user_day = "day_" & user_dd
Set cn = CreateObject("Adodb.Connection";)
cn.Provider = "sqloledb"
ProvStr = "Server=HEX;Database=mydb;UID=stas;pwd=123;"
cn.Open ProvStr
Set rs = CreateObject("ADODB.Recordset";)
rs.ActiveConnection = cn
rs.open "select * from " & user_day & " where hour = " & hours.value & " And min = " & mins.value
...

Вместо rs.fields("min";) - rs!min - почему так, объясните.
И об stored procedure можно немного прояснить.
Заранее огромное спасибо.

P.S. В VBScript и SQL новичок.

Ответить

Номер ответа: 3
Автор ответа:
 St@s



ICQ: 289429121 

Вопросов: 4
Ответов: 9
 Профиль | | #3 Добавлено: 26.08.04 17:57
А как работать с rs.GetRows?
И всетаки чем запись rs.fields("min";) отличается от такой записи rs!min.
Пожалуйста просветите!
Заранее спасибо.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам