У меня есть файл Excel, который я хочу открыть, нажать refesh, и он получает данные с сервера SQL, а затем я манипулирую данными и создаю несколько панелей мониторинга. У меня действительно есть это, но я тяну к большому количеству данных и мне нужен более сложный Запрос с некоторыми JOIN, чтобы сузить его.

Я могу запросить SQL Server из-в Excel. Я могу отредактировать запрос (это просто текст), но он утомителен, немного похож на ход в темноте, потому что с Excel делает запрос, сообщения об ошибках бесполезны. Раньше я делал это с помощью .exe, называемого MSQuery, который поставляется с Excel (но он давится многими вещами).

Я могу написать запрос, который я хочу, используя Microsoft SQL Server Management Studio.

Вы могли бы подумать, что я мог бы написать запрос в Studio и вырезать и вставить запрос в Excel, но синтаксис выглядит немного иначе. В частности, в Studio перед написанием запроса необходимо выбрать базу данных, поэтому оператор FROM в запросе SQL начинается с dbo.vSomeViewName. Принимая во внимание, что в Excel/MSQuery вы не указываете базу данных, и поэтому оператор FROM в запросах начинается с TheDataBaseName.dbo.vSomeViewName. После этого есть некоторые другие отличия, которые я не понимаю.

У меня возникает ощущение, что мне не хватает чего-то базового, что в книгах кажется очевидным или ненужным.

2 ответа2

2

Я делаю следующие шаги, когда хочу вставить запрос SQL Server: (при условии, что Excel 2007)

  1. Данные> Из других источников> Из SQL Server
  2. Введите имя сервера
  3. Выберите нужную базу данных и выберите небольшую таблицу из списка таблиц.
  4. Хит ОК
  5. Выбрав вкладку «Инструменты таблицы»> «Дизайн», щелкните стрелку в разделе «Обновить» и выберите «Свойства подключения».
  6. Нажмите Определение
  7. Изменить тип команды на «SQL»
  8. Вставьте запрос в поле «Текст команды». Хит ОК.

Это всегда работало для меня.

0

Я регулярно копирую и вставляю запросы между Excel и SQL Server Studio и не сталкиваюсь с описанными вами проблемами. Пока база данных идентифицируется в строке подключения в Excel, вам не нужно ставить имя базы данных перед каждым именем таблицы или столбца.

Кроме того, вы можете указать имя базы данных в начале запроса:

use database

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .