Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Select into во внешнюю базу  [new]
Ku-klux-klan
Member

Откуда:
Сообщений: 6
Господа, поможите. Замучился уже комбинаторикой заниматься.
Нужно вывести с помощью запроса Select into.. данные в эксель.
Перевожу программу их экцесса на SQL и нужно соблюсти стратегию. В экцессе элементарно прокатывает, но тут сложности.
Похожих вопросов я начитался и теоритически это решаемо, но у меня запрос

SELECT *
into [Excel 8.0;Database=G:\Export.xls].[pp] FROM dbo.PriceEndCom

выдает:
Сообщение 2760, уровень 16, состояние 1, строка 1
Указанное название схемы "Excel 8.0;Database=G:\Export.xls" либо не существует, либо отсутствует разрешение для его использования.

Хоть тресни.... У меня сложилось убеждение, что это с какими-то пароноидальными разрешениями дело. Все разрешения у меня стандартные по умолчанию с установки сервера. Похожую проблему я нашел и у человека именно так заработало. А у меня что такое?


Прилинкованные сервера и opendatasourc-ы и т.п. не подходят как решения. Архиважно именно так решить вопрос.
24 май 14, 18:00    [16065614]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33947
Блог
можно просто интегрировать запрос в эксель
24 май 14, 18:07    [16065631]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Ku-klux-klan
Member

Откуда:
Сообщений: 6
Критик,

Нет-нет... экселевские файлы должны динамически создаваться. Это прайсы. Программа сформировала, послала по почте и забыла.

Да, SQL-сервер 2005 express. Программа на дельфях через ADO подсоединяется. Хотя, вряд ли это важно, т.к. этот запрос на самом сервере орёт.
24 май 14, 18:15    [16065664]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
invm
Member

Откуда: Москва
Сообщений: 9400
Ku-klux-klan
экселевские файлы должны динамически создаваться.
Не выйдет. На момент выполнения запроса файл должен существовать. О чем недвусмысленно говорится в сообщении об ошибке.
Так что придется завести шаблон, клонировать его, и только потом выгружать данные.
24 май 14, 18:29    [16065728]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
user89
Member

Откуда:
Сообщений: 2083
Ku-klux-klan,

я правильно понял?
- надо сделать выборку из базы
- сохранить результат в формате, который понимает Excel
- отправить по почте

Тоже не понял, почему не работает select * into Excel...
Есть еще несколько способов сохранить выборку в Excel, но попробуем обойтись малой кровью.

В Delphi запускаем SQL-запрос и получаем Excel-файл через быстрый CopyFromRecordset 13652114
24 май 14, 23:28    [16066895]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ku-klux-klan
У меня сложилось убеждение, что это с какими-то пароноидальными разрешениями дело. Все разрешения у меня стандартные по умолчанию с установки сервера. Похожую проблему я нашел и у человека именно так заработало.

Вы хотите сказать, что если в качестве имени схемы/владельца я укажу _строку подключения_, то MSSQL просто обязан работать с внешней базой, как со своей родной ?
Т.е. внутри MSSQL должны быть зашиты драйверы для всех возможных строк подключения ?

Ku-klux-klan
Архиважно именно так решить вопрос.

Архиважно понять, что портирование один в один на другую платформу это неправильно. Зачем из новой платформы делать предыдущую ?
25 май 14, 11:10    [16067662]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Ku-klux-klan
Member

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

Да, ценная мысль. Благодарствую. Но хотелось бы именно с таким подходом разобраться для приемственности. Я утвердился во мнении что с какими-то разрешениями на пользователя связано.... вот с какими....
26 май 14, 10:47    [16071679]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ku-klux-klan
Я утвердился во мнении что с какими-то разрешениями на пользователя связано.... вот с какими...

Это связано с вашим незнанием правил именования объектов в MSSQL
26 май 14, 10:50    [16071707]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Вам поможет Reporting Services, осваивайте отчёты.
26 май 14, 11:15    [16071904]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Ku-klux-klan
Member

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

Я понял что это связано с незнанием, поэтому и спрашиваю ))))
26 май 14, 11:33    [16072073]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ku-klux-klan
Я понял что это связано с незнанием, поэтому и спрашиваю

1. Надо читать сообщения об ошибках. С начала, не с конца
Указанное название схемы "Excel 8.0;Database=G:\Export.xls" либо не существует, либо отсутствует разрешение для его использования.

2. Надо узнать в хелпе, принципы именования объектов в MSSQL вообще и что такое схема в частности
26 май 14, 14:14    [16073566]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Ku-klux-klan
Member

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

Это же не объект БД, а сторонний файл... Причем тут схема? Есть схема dbo...
26 май 14, 15:20    [16074109]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ku-klux-klan
Это же не объект БД, а сторонний файл..

Интересно, вот откуда MSSQL должен понять, что это "не объект базы" ?

Ku-klux-klan
Причем тут схема? Есть схема dbo...

Открою секрет. Перед именем объекта всегда стоит имя схемы.
И схем может быть больше одной.
26 май 14, 15:25    [16074151]     Ответить | Цитировать Сообщить модератору
 Re: Select into во внешнюю базу  [new]
Ku-klux-klan
Member

Откуда:
Сообщений: 6
Закрываю вопрос.
Буду делать через INSERT INTO OPENROWSET
или экспортировать через DBGridEh.

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

Всем поклон.
27 май 14, 10:01    [16077272]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить