Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для carga2
11 / 9 / 6
Регистрация: 07.11.2013
Сообщений: 335

Доступ к Excel из SQL CLR сборки

21.04.2020, 14:06. Показов 1081. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, товарищи!
У меня есть проект базы данных SQL Server, в нем добавлена Хранимая процедура CSQL CLR C# с таким кодом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        
        public partial class StoredProcedures
{
    [Microsoft.SqlServer.Server.SqlProcedure]
      public static void SqlStoredProcedure1(SqlString delivery_number)
      {
        using (SqlConnection conn = new SqlConnection("context connection=true"))
        {
            SqlCommand com = conn.CreateCommand();
            com.CommandText = @"INSERT INTO hydadm.u_test_t VALUES (@mail)";
            com.Parameters.AddWithValue("@mail", delivery_number);
            conn.Open();
            SqlContext.Pipe.ExecuteAndSend(com);
        }
    }
 
}
Добавляю сборку в MSSQL 2016
T-SQL
1
2
3
4
5
6
7
USE [hydra1]
GO
CREATE ASSEMBLY [SqlStoredProcedure1]
AUTHORIZATION [hydadm]
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Database2.dll'
WITH PERMISSION_SET = UNSAFE
GO

Добавляю функцию
T-SQL
1
2
3
4
5
6
7
8
9
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [hydadm].[u_SqlStoredProcedure1]
    @delivery_number[nvarchar](50)
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [Database2].[StoredProcedures].[SqlStoredProcedure1]
Все работает, но мне надо в моей процедуре результат запроса вставить в Excel файл, т.е. изменить запрос на SELECT и добавить код вставки в Excel. Не могу подключить к проекту на C# сборку Microsoft.Office.Interop.Excel, т.к. в проекте с типом Проект базы данных SQL Server не могу подключить NuGet пакет - вылетает ошибка - "Не поддерживается".

Я могу создать обычную библиотеку классов и там подключить сборку Microsoft.Office.Interop.Excel, но в таком случае не получается подключить к БД используя контекстное соединение
Что делать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.04.2020, 14:06
Ответы с готовыми решениями:

CLR: чем сборки отличаются от библиотек
Собственно,вопрос задан в заголовке темы. Чем они лучше dll библиотеки?

SQL CLR в Microsoft SQL Server
Всем привет) прошу помощи от гуру программирования ;) Написал библиотеку классов на C#. DLL успешно залил на sql server. Создал хранимую...

Доступ к данным в консольном приложении CLR Visual C++
Доброго времени суток. Меня интересует следующая проблема. В VS 2012 создаю консольное приложение CLR Visual C++. Подключаюсь к базе...

2
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18288 / 14211 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
21.04.2020, 20:45
carga2, думаю придется делать это на стороне клиента
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
21.04.2020, 22:25
Цитата Сообщение от carga2 Посмотреть сообщение
мне надо в моей процедуре результат запроса вставить в Excel файл
Можно создать SSIS пакет и запустить его из хранимки. Но если это у вас разовая операция, то проще
Цитата Сообщение от OwenGlendower Посмотреть сообщение
на стороне клиента
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2020, 22:25
Помогаю со студенческими работами здесь

SQL/CLR Процедура для обновления таблицы из списка
Необходимо обновить данные из списка (List<string>) Самый простой способ это инструкция MERGE из T-SQL MERGE LIST as SOURCE ...

Создание файлов в FileTable по UNC-пути к каталогу из CLR SQL
Привет! Есть тестовая процедурка, написанная на C# CLR SQL, которая потом работает как обычная хранимка. Процедура пытается создать файл в...

Запретить доступ к членам из сторонней сборки
Вообщем то, есть методов/свойств, доступ к которым я хотел бы ограничить из сторонней сборки посредством рефлексии. Есть ли вообще...

Ошибка подключения к SQL (SQL Server не существует, или доступ запрещен.)
Привет Всем уважаемые форумчане! Вопрос такой, у себя на ПК (На котором пишу программу) - запускаю свою программу, спокойно всё...

Ошибка при развёртывании SQL-сборки
Есть проект SQL-сборки. Права у сборки поставлены как EXTERNAL_ACCESS. При её развёртывании на MS SQL Server 2008 R2 выдаётся следующая...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru