Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временная таблица и OLE DB / 4 сообщений из 4, страница 1 из 1
31.03.2002, 14:45
    #32026577
ethan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временная таблица и OLE DB
Этот код создает временную таблицу:

Dim con As New ADODB.Connection
Dim rsta As New ADODB.Recordset
Dim cmda As New ADODB.Command
With con
.ConnectionTimeout = 15
.Provider = "MSDASQL"
.ConnectionString = "DRIVER={SQL Server};SERVER=ms_sql;UID=ttt;PWD=777;DATABASE=dba"
.Open
End With

rsta.Open "SELECT * from tbla", con, adOpenKeyset
cmda.ActiveConnection = con
cmda.CommandText = "create table #tmpTbl (cola varchar(25), colb int,colc varchar(255)," & _
" cold money, cole money, colf money, colg money, colh varchar(25),coli char(25),colj char(25),colk char(25) )"
cmda.CommandType = adCmdText
cmda.Execute

- а этот нет :

Dim con As New ADODB.Connection
Dim rsta As New ADODB.Recordset
Dim cmda As New ADODB.Command
With con
.ConnectionTimeout = 15
.Provider = "SQLOLEDB"
.ConnectionString = "SERVER=ms_sql;UID=ttt;PWD=777;DATABASE=dba"
.Open
End With

rsta.Open "SELECT * from tbla", con, adOpenKeyset
' --- rsta.close
cmda.ActiveConnection = con
cmda.CommandText = "create table #tmpTbl (cola varchar(25), colb int,colc varchar(255)," & _
" cold money, cole money, colf money, colg money, colh varchar(25),coli char(25),colj char(25),colk char(25) )"
cmda.CommandType = adCmdText
cmda.Execute

Если во втором случае перед объектом cmda закрыть recordset(заремленно) то таблица создается.
Если rsta.cursorType не adOpenKeySet таблица также создается
used win2k server with sp2, sql2k enterprise with sp2, msdac 2.7
Може кто чё знает на эту тему?
...
Рейтинг: 0 / 0
01.04.2002, 06:31
    #32026593
Dankov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временная таблица и OLE DB
При указании adOpenKeySet создается серверный курсор. Если открыта выборка, то для производства других запросов ADO создает автоматически другие временные сессии (на время выполнения запроса), так главная сессия занята фетчем серверного курсора. Там, в другой временной сессии, временная таблица и создается.
...
Рейтинг: 0 / 0
01.04.2002, 12:31
    #32026650
ethan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временная таблица и OLE DB
Дело в том, что любая временная таблица видна
хотя бы тем-же QueryAnalyzer в базе tempdb, а тут никаго эффекта.
И почему в случае использрвание
OLE DB Provider for ODBC всё о'key, а в случае OLE DB Provider for SQL Server
такое.
...
Рейтинг: 0 / 0
01.04.2002, 14:08
    #32026663
Dankov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временная таблица и OLE DB
Временная таблица дропается вместе с временной сессией, где она создается. Ты типа не успеваешь увидеть.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временная таблица и OLE DB / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]