powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / INSERT во временную таблицу MS SQL
3 сообщений из 3, страница 1 из 1
INSERT во временную таблицу MS SQL
    #35705713
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два модуля в Excel - е
1)
Sub test()

Dim Con As Object
Dim rst As Object
Dim ConStr As String

Set Con = CreateObject("ADODB.connection")
Set rst = CreateObject("ADODB.connection")

Con.Open "Provider=SQLOLEDB;Data Source=@;User Id=@;Initial Catalog=@;Password=@"

ConStr = "CREATE TABLE #t1 (t1 varchar(100), t2 varchar(100))"
ConStr = ConStr + " insert into #t1 values ('a', 'b')"
ConStr = ConStr + " insert into #t1 values ('c', 'd')"
ConStr = ConStr + " SELECT * FROM #t1"

Set rst = Con.Execute(ConStr)

MsgBox (rst.fields(0).Name)

End Sub
'-------------------конец

2)
Sub test()

Dim Con As Object
Dim rst As Object
Dim ConStr As String

Set Con = CreateObject("ADODB.connection")
Set rst = CreateObject("ADODB.connection")

Con.Open "Provider=SQLOLEDB;Data Source=@;User Id=@;Initial Catalog=@;Password=@"

ConStr = "CREATE TABLE #t1 (t1 varchar(100), t2 varchar(100))"
Set rst = Con.Execute(ConStr)
ConStr = " insert into #t1 values ('a', 'b')"
Set rst = Con.Execute(ConStr)
ConStr = " insert into #t1 values ('c', 'd')"
Set rst = Con.Execute(ConStr)
ConStr = " SELECT * FROM #t1"
Set rst = Con.Execute(ConStr)

MsgBox (rst.fields(0).Name)

End Sub
'--------------------конец

Первый программа не работает, но если подвать insert-и последовательнО, как во 2-й, то работает.
Почему в первой программе после 1-ого insert-а временная таблица #t1 перестает быть видна?
...
Рейтинг: 0 / 0
INSERT во временную таблицу MS SQL
    #35714186
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подозреваю (но не проверял), что работа из EXCEL с SQL Server происходит через sp_executesql, что приводит к удалению временной таблицы при выходе из sp_executesql.

С уважением, Алексей
...
Рейтинг: 0 / 0
INSERT во временную таблицу MS SQL
    #35715059
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-K,

подозрения безосновательны, чистый VBA-код , что написано, то и выполняется.

Автору: добавьте в начало батча
Код: plaintext
SET NOCOUNT ON
Что и зачем - на профильном форуме спрашивайте,
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / INSERT во временную таблицу MS SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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