Программирование


[•] Ошибки SQL Server: A severe error occurred on the current command. The results, if any, should be discarded.

Если в ходе выполнения запроса получили:

Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.

- значит запрос был прерван "по техническим причинам": например, обрыв связи, или сессия была убита, и т.п. Ищите причины в этом.


[•] Определение региональных форматов в Microsoft Excel

Для того, чтобы в программе корректно применять форматы к ячейкам Excel (при работе как с automation server), нужно знать языковые настройки. Т.к. если, например, в системе в качестве десятичного разделителя настроена "." (точка), то форматирование с использованием "," (запятая) ничего хорошего не даст.


[•] Спрятать Excel от пользователя

При работе с Excel как с automation приложением полезно перевести это приложение в "абсолютно неинтерактивный режим". Сделать это можно создавая новый экземпляр приложения (new instance), а не подключаясь к уже запущенному, и установив следующие свойства:

  • Visible (ложь) - отображение окна приложения на экране

[•] Про рефакторинг

Рефакторинг в сухом остатке :-) http://habrahabr.ru/post/169139/

Классная вещь! - карточки-подсказки по рефакторингу: http://www.qwan.eu/en/shop

Аналогичная вещь - электронные флешкарты: http://quizlet.com/201301/refactoring-code-smells-flash-cards/original

В принципе - это можно напечатать самому, но не так красиво получится, как "магазинные". :-)


[•] Nota Bene: Как посмотреть план выполнения запроса в Microsoft SQL Server

Собственно, инфа с сайта TechNet:

  • Опции SET SHOWPLAN_ALL ON или SET SHOWPLAN_TEXT ON или SET SHOWPLAN_XML ON обеспечивают вывод оценочного плана команды, при этом сама команда реально не выполняется. Не особо интересны, т.к. если задействуются всякие триггеры, то эти команды их влияние не увидят.
  • Опция SET STATISTICS PROFILE ON обеспечивает вывод реального плана выполнения, при этом и сама команда выполняется.
    Т.к. план по факту может сгенерить несколько табличек, то для копирования лучше в Management Studio переключить вывод в текстовый формат (меню Query / Result To / Result to Text).

[•] Microsoft Access (2007, 2010) при компиляции модуля указывает на ошибку в объявлении Declare Function

Если MS Access при компиляции модуля указывает на ошибку в строке примерно такого содержания:

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" lpofn as LPOPENFILENAME) as Boolean

Или при выполнении выдается ошибка: "Ошибка при компиляции функции. Ошибка синтаксиса в модуле Visual Basic. Проверьте программу, а затем перекомпилируйте ее.".


[•] Ошибка -2146827284 (0x800A03EC) Невозможно получить свойство Open класса Workbooks

Победили предыдущую проблему - приложение Excel запускается.
Получили новую ошибку: -2146827284 Невозможно получить свойство Open класса Workbooks.
Возникала на вызове:

EXEC @iRetCode = sp_OAMethod @iXLApp, 'Workbooks.Open', @iDoc OUTPUT, @FileName

Всяческие изменения в вызове процедуры, выделение отдельно Workbooks никак не помогали.


[•] Ошибка -2147024891 (0x80070005) Access is denied при создании OLE объекта класса Excel.Application

Конфигурация:
- MS Windows Server 2008 R2 64bit
- MS SQL Server 2008 R2
- MS Excel 2003

В хранимой процедуре создаем объект Excel примерно таким образом:

DECLARE @iXLApp int, @iRetCode int
EXEC @iRetCode = sp_OACreate 'Excel.Application', @iXLApp OUTPUT, 4

Получаем указанную ошибку: -2147024891 (0x80070005) Access is denied.


[•] Блокировка записей в Microsoft Access 2007 - ошибка 3218

При работе в Microsoft Access 2007 возникла проблема - хоть и небольшая, но досадная :-)

Ситуация:

  • используется DAO
  • используется объект Database (как CurrentDb)
  • для организации транзакций, конечно, используется Workspace (как DBEngine.Workspaces(0))

[•] Создание прилинкованного сервера (Linked Server) для MS Analysis Services

Если создать Linked Server на Analysis Services сервер, то можно напрямую, практически SQL-запросами обращаться к данным OLAP-кубов, что очень удобно.

Здесь рассматривается версия MS SQL Server 2008 R2 (и сооветствующая MS Analysis Services).


Ленты новостей
Нравится