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

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
Временная таблица и OLE DB
    #32026593
Dankov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При указании adOpenKeySet создается серверный курсор. Если открыта выборка, то для производства других запросов ADO создает автоматически другие временные сессии (на время выполнения запроса), так главная сессия занята фетчем серверного курсора. Там, в другой временной сессии, временная таблица и создается.
...
Рейтинг: 0 / 0
Временная таблица и OLE DB
    #32026650
ethan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что любая временная таблица видна
хотя бы тем-же QueryAnalyzer в базе tempdb, а тут никаго эффекта.
И почему в случае использрвание
OLE DB Provider for ODBC всё о'key, а в случае OLE DB Provider for SQL Server
такое.
...
Рейтинг: 0 / 0
Временная таблица и OLE DB
    #32026663
Dankov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Временная таблица дропается вместе с временной сессией, где она создается. Ты типа не успеваешь увидеть.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временная таблица и OLE DB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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