![]() |
|
Модераторы: LSD |
![]()
|
|
| digital_pilot |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2002 Репутация: нет Всего: нет |
всем салют.
Вопрос такой. Хотелось бы осуществить сабж чем-нибудь вроде такого запроса: SELECT * INTO [target_sheet] FROM [source_table] В качестве таргета может быть excel, text, html - неважно. Напр., между Jet'овскими БД подобные запросы проходят с помощью вещей типа: SELECT * INTO [Tab1] IN 'c:\Target.xls' 'Excel 8.0;' FROM [source_table] Можно ли провернуть нечто подобное с SQL Server'ом? Заранее благодарен за любые идеи. P.S. DTS не предлагать |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Select * Into ServerName1.Database1.DatabaseOwner1.Table1 From ServerName2.Database2.DatabaseOwner2.Table2
Естественно, что надо иметь разрешение такое делать на сервере. Можно например так Select * Into ServerName1.Database1.dbo.Table1 From ServerName2.Database2.dbo.Table2 или если на одном сервере: Select * Into Database1.dbo.Table1 From Database2.dbo.Table2 или если в одной базе данных: Select * Into Table1 From Table2 А ещё, посмотри здесь: http://www.forum.vingrad.ru/cgi-bin....;t=1037 -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| digital_pilot |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2002 Репутация: нет Всего: нет |
угу... я это все знаю... Только мне нужно не между 2-мя серверами, а между SQL Server'ом и ёкселем. Т.е. мне как-то нужно правильно записать полное квалифицированное имя для таргетовой екселевской таблицы.
Я, в принципе, нашел 1 метод, но он уж больно черезжоповый - обходными путями, через динамическое создание Jet'ового коннекшна на основе Access'ового файла-пустышки. И когда я указываю имя екселевской таблицы, то Jet вот такое вот понимает: [Excel 8.0;Database=D:\a.xls].[Sheet1] А мне б вот че-нить наподобие, но чтобы, к примеру, QA тоже понимал. |
|||
|
||||
| digital_pilot |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.6.2002 Репутация: нет Всего: нет |
Все, получилось.
Вариант такой: создается коннекшн через провайдера Microsoft.Jet.OLEDB.4.0 к какой-нибудь базе-пустышке, XLS или MDB. Потом через этот коннекшн просто пропихивается нужный SQL-стэйтмент, который неявно коннектится к SQL-серверу и целевой екселевской базе: SELECT * INTO [Excel 8.0;Database=d:\Target.xls].[Sheet1] FROM [ODBC;Driver=SQL Server;Database=MyDB;Server=MyServer;Trusted_Connection=Yes;].[dbo.MyTable] Вместо ёкселя в качестве таргета можно также использовать HTML или TXT. Тогда 2-я строчка будет выглядеть приблизительно так: [HTML Export;Database=d:\].[Target.htm] или [Text;Database=d:\].[Target.txt] |
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |