|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
Здравствуйте. Версия сервера: Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Enterprise Edition Мне нужно подключиться внутри корпоративной сети к книге Excel как к таблице или вьюхе MSSQL. Книгу могут пополнять строками. короче говоря, её могут менять. Вопрос: возможно ли на MSSQL как то "подготовить" что-ли, эту книгу в качестве вьюхи или таблицы, чтобы "ЭТО" было доступно для чтения командами MSSQL через select ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 13:03 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER, 1) Используйте OpenRowset с коннекшин стрингом по одному из форматов отсюда https://www.connectionstrings.com/excel/ 2) Напишите CLR, которая будет парзить ваши Эксельники и выдавать вам результат ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 13:14 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
a_voronin 1) Используйте OpenRowset с коннекшин стрингом по одному из форматов отсюда https://www.connectionstrings.com/excel/ 2) Напишите CLR, которая будет парзить ваши Эксельники и выдавать вам результат №2 не подходит, точнее ситуация такова, что для парсинга эксельки нужно ставить Excel на сервер, с которого всё это будет происходить. Что не желательно. Вопрос с лицензиями на офис и пр. лабуда. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 13:21 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER для парсинга эксельки нужно ставить Excel на сервер ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 13:53 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER, если это open xml, то проблем с C# не должно быть. По-моему, существуют библиотеки и для потоковых XLS. Вы не знабывает, что если файл кто-то откроет и "забудет", то вы не получите доступ к нему. Лучше использовать SharePoint для такого случая, но это дорого и не у всех есть. Можно отсылать копию файла и применить SSIS. Решений достаточно, но они требуют определённых знаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 14:09 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER a_voronin 1) Используйте OpenRowset с коннекшин стрингом по одному из форматов отсюда https://www.connectionstrings.com/excel/ 2) Напишите CLR, которая будет парзить ваши Эксельники и выдавать вам результат №2 не подходит, точнее ситуация такова, что для парсинга эксельки нужно ставить Excel на сервер, с которого всё это будет происходить. Что не желательно. Вопрос с лицензиями на офис и пр. лабуда. Если вы будете использовать https://docs.microsoft.com/en-us/office/open-xml/open-xml-sdk, то никакой лицензии ни на что не надо. Он открывает Excel просто как файл ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 14:14 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
a_voronin, В моём распоряжении есть подключение к MSSQL и powershell Я мог бы powershell-ом распарсить книгу, но нужен сам Excel на сервере - это не подходит. Вот я и подумал, что было бы не плохо сделать SELECT до эксельки. Но её как то надо "прикрутить". В этом и вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 14:18 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER, Прекратите повторять, что " нужен сам Excel на сервере". Ответ не нужен. Уже 17 лет прошло с тех пор как можно читать Excel не имея установленного приложения Excel. https://docs.microsoft.com/en-us/office/open-xml/open-xml-sdk Разрабатываете CLR и деплоите её. А где собственно говоря находятся сами Excel-ники, которые вы собрались парзить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 14:23 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER, Недавно решал похожую проблему: SSIS-пакет выгружал выборку в эксельный файл и отправлял его по почте, но штатный Excel Destination без установленного Excel не работает. Заменил весь dataflow на Script Task, в нем получал SqlDataReader, который потом скармливал объектам из EPPlus.dll . Работает быстро, объектная модель продуманная, мне понравилось. Единственное, эту DLL пришлось устанавливать в GAC на сервере, но это имхо цветочки по сравнению с установкой Офиса. Вы можете написать CLR, которая будет тянуть данные из файла через эту либу, например. Ну или через SDK, как другие советуют - думаю, большой разницы не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 08:30 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
Ennor Tiegael ...но штатный Excel Destination без установленного Excel не работает... может для доступа просто Access Database Engine драйвер нужен был (Microsoft.ACE.OLEDB..xxx) ? { проверить условия использования, для ТС-а может подойдёт } т.е. без самого Microsoft Office / Microsoft Excel (получается без необходимости дополнительных лицензий и замусоривания сервера доп. программами) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 13:45 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
vikkiv, Не знаю, не проверял. Начальница сказала делать так, возможно установка драйверов на сервер не входила в ее планы. Ну и там форматирование у файла требовалось очень загнутое - строго определенные ячейки заголовка должны были быть раскрашены специфическим образом, и еще фигня какая-то. Ну и мне было интересно посмотреть, что это за штука такая. Я им потом на основе этого кода утилиту написал, которая прогоняет скрипт на сервере и сохраняет результаты в многостраничный эксельник. Заодно с многопоточностью поигрался :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 23:21 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
По сути не работает первая строка из этого фрагмента: Код: powershell 1. 2. 3.
Но чувствую, что это уже оффтоп ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 07:40 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER По сути не работает первая строка из этого фрагмента: Код: powershell 1. 2. 3.
Но чувствую, что это уже оффтоп Поражает. Насколько упорно Вы пытаетесь задействовать Excel.Application, хотя уже давно есть OpenXml, которые не использует COM-объекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 07:55 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
a_voronin Поражает. Насколько упорно Вы пытаетесь задействовать Excel.Application, хотя уже давно есть OpenXml, которые не использует COM-объекты. Есть много чего. Я использую те инструменты, которые знает большинство в моем окружении. И в случае чего, смогут легко и без посторонней помощи поправить. Вы предлагаете OpenXML - штука, прямо скажем, не тривиальная. По тем ссылкам, что Вы дали, для меня вырисовывается перспектива основательного погружения (как я понял) в основы C# коих у меня не много. Я уже нашел обходной вариант (без заморочек) и решил задачу с пом. PowerShell и MSSQL. Благо, она из серии "сделал и забыл". В край, любой может поправить. Спасибо за OpenXML. Уверен, если возникнет что-то серъезное на горизонте, придется изучать вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 08:15 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER, Если вы используете продукты Microsoft, то знание C# практ. обязательно. Учите, хуже не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 09:38 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER a_voronin Поражает. Насколько упорно Вы пытаетесь задействовать Excel.Application, хотя уже давно есть OpenXml, которые не использует COM-объекты. Есть много чего. Я использую те инструменты, которые знает большинство в моем окружении. И в случае чего, смогут легко и без посторонней помощи поправить. А погуглить 5 минут и найти готовый год -- это очень сложно? https://stackoverflow.com/questions/23102010/open-xml-reading-from-excel-file Единственное с чем там надо разобраться -- это как доставать строковые значения из словаря (c.DataType == CellValues.SharedString) -- все остальное там сделано. Добираетесь до листа и читаете его по строкам столбцам клеткам. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 11:27 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
Ennor Tiegael MAULER, Если вы используете продукты Microsoft, то знание C# практ. обязательно. Учите, хуже не будет. Для этой задачи надо знать for foreach if openfile . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 11:50 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER Есть много чего. Я использую те инструменты, которые знает большинство в моем окружении. так что в данном случае не будет существенной разницы между PS и C# (за искл. косметики) а вот какие методы/подходы применять внутри кода - немного другой вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 12:54 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
vikkiv MAULER Есть много чего. Я использую те инструменты, которые знает большинство в моем окружении. так что в данном случае не будет существенной разницы между PS и C# (за искл. косметики) а вот какие методы/подходы применять внутри кода - немного другой вопрос. Не будет разницы???? Опа.... В одном случае надо ставить Excel на сервер, в другом нет. Этот Excel App висит как COM-объект и жрет ресурсы. при неправильном подходе зависает. И самое главное Excel App позволяет парзить лишь в один поток (если вы конечно несколько не откроете с сильнейшим оверхедом). OpenXml парзит файл просто как файл не опираясь ни на что кроме функций разбора xml, позволяет делать это многопоточно ни от чего не завися. Есть разница? Я уже молчу про такой нюанс как безопасность. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:02 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
MAULER, напишите (маленькое) .NET приложение, которое считывает данные из элселя и пишет их в таблицу на сервере. Используйте библиотеку EPPlus (4.5.3.3 . последняя бесплатная версия для коммерческого применения) Библиотека замечательная, вам понадобится всего несколько строк кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:31 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
Alexander Us EPPlus - Библиотека замечательная, вам понадобится всего несколько строк кода. C EPPlus эксель на сервер ставить не надо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:34 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
a_voronin А погуглить 5 минут и найти готовый год -- это очень сложно? https://stackoverflow.com/questions/23102010/open-xml-reading-from-excel-file Спасибо, дельный совет , и мне прогодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:38 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
a_voronin Не будет разницы???? Опа.... В одном случае надо ставить Excel на сервер, в другом нет. у меня только про разницу между инструментами на которых написана логика извлечения ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 15:18 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
vikkiv, Что такое "PS"? Это PowerShell? Что вы там собрались юзать? COM? Тогда все что я сказал уместно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 15:25 |
|
Книга Excel как набор данных MSSQL для доступа извне.
|
|||
---|---|---|---|
#18+
a_voronin, ещё раз пройдусь во избежании мутирования интерпретаций: чел говорит что использовать C# у них не по фэн-шую (напр. в паре с OpenXML), при этом сам приводит PowerShell - т.е. тот-же .NET в немного другом соусе. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 17:03 |
|
|
start [/forum/topic.php?fid=46&msg=39955611&tid=1686142]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 428ms |
0 / 0 |