Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Экспорт данных  [new]
revi
Guest
День добрый.

Можно как-нибудь экспортировать данные из таблицы запросом.
То есть идея заключается в том, чтобы экспортировать данные из таблицы, при этом сам сервер не имеет прав писать на диск, однако приложение, которое обращается к нему это делать может. Идея в следующем:
1)Получить список таблиц БД
2)Для каждой таблицы выполнить запрос, который получает её структуру. (вида: "create table tbl1:...)
3)Для каждой таблицы выполнить некоторый запрос, который будет экспортировать данные в виде Insert into tbl1 ...


Собственно вопрос, можно как нибудь это получить, чтобы потом считывать даннеы и записывать их в файл?
18 мар 13, 12:28    [14061836]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552


К сообщению приложен файл. Размер - 59Kb
18 мар 13, 12:33    [14061872]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
revi
Guest
Суть в том, что есть только подключение и надо получить данные, чтобы потом можно было их импортировать. Тут же генерируется запрос который сам уже расставляет какие таблицы есть, какие в них поля.
18 мар 13, 12:38    [14061911]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
там туева хуча настроек, можно создавать таблицы или не создавать, можно с данными и без...
выберите что Вам надо
18 мар 13, 12:45    [14061947]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
revi,

ну т ак возьмите профайлер и снимите весь запрос и все..и стройте себе ето счатье
а чисто по пунктам вот ето :
1. INFORMATION_SCHEMA.TABLES
2. INFORMATION_SCHEMA.COLUMNS
3. SELECT.......

А вообще,как вот ето :
автор
при этом сам сервер не имеет прав писать на диск
18 мар 13, 12:48    [14061968]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
revi
Guest
Maxx
revi,

А вообще,как вот ето :
автор
при этом сам сервер не имеет прав писать на диск

Очень просто. У менеджера БД нет прав на папку пользователя.
3. SELECT.......? А экранирование все дела? Нет ли простого запроса, который как в mysql делал бы дамп с insert , чтобы его можно было считать в потоке?
18 мар 13, 13:02    [14062041]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
google+поиск "Microsoft.SqlServer.Management.Smo"

например
18 мар 13, 13:05    [14062062]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
revi
А экранирование все дела? Нет ли простого запроса, который как в mysql делал бы дамп с insert , чтобы его можно было считать в потоке?

Вам Паганель уже 2 раза ответил запустите визард, снимите трассу профайлером ..и радуйтесь
Иили воспользуйтесь поиском и FAQ по форуму, по ключевым словам - Скрипт БД программно
18 мар 13, 13:17    [14062161]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Maxx
ну т ак возьмите профайлер и снимите весь запрос и все..и стройте себе ето счатье

Хех, посмотрел профайлером "весь запрос". Сперва там считываются метаданные при помощи нескольких десятков SQL-запросов.
Затем идёт выборка собственно данных при помощи такого запроса:
SELECT [Column1], [Column2], ..., [ColumnN] FROM [schema].[table]

Экранированием, форматированием, приписыванием "INSERT ... VALUES" и т.п. занимается некий промежуточный слой, не на БД. Так что совет с профайлером не слишком хорош ;-)
18 мар 13, 13:23    [14062205]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Гость333
Экранированием, форматированием, приписыванием "INSERT ... VALUES" и т.п. занимается некий промежуточный слой, не на БД. Так что совет с профайлером не слишком хорош ;-)

издеваетесь ? Ню-Ню :)
А придумывать жутко боянистый лисапед - ето хорошо ?
18 мар 13, 13:25    [14062221]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Maxx
Гость333
Экранированием, форматированием, приписыванием "INSERT ... VALUES" и т.п. занимается некий промежуточный слой, не на БД. Так что совет с профайлером не слишком хорош ;-)

издеваетесь ? Ню-Ню :)

Да нисколько, самому интересно стало, что там этот визард запрашивает в БД :-)
Сделал вывод, что использовать это, так сказать, "as is" — ну никак нельзя.

Maxx
А придумывать жутко боянистый лисапед - ето хорошо ?

Зачем лисапед, вот dalex1973 указал на SMO. Это решит проблему ТСа, если в его задаче допустимо использовать .NET.
18 мар 13, 13:37    [14062291]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт данных  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Гость333,

ну вообщем полемика по факту,хотя с завидной регулярностью всплывает
Если сильно надо самописное ,то решаеться через динамику с системными вьюсами + простые селекты ,вывод в файл.
18 мар 13, 13:51    [14062405]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить