DataBase

EF6 + async + varbinary(max)

05 April 2015 |

Неожиданных bug EntityFramework, есть 2 таблицы: AbstractObject ссылаетс на FileData, при этом в FileData есть столбец типа varbinary(max). Записей в таблице мало (по 2 строки в каждой), при этом в столбце varbinary(max) таблицы FileData содержится порядка 30Мб данных. Обычная ситуация – всё максимально просто и запрос который вызвал проблемы тоже очень простой. var q = from cf in ctx.AbstractObject         where cf.Id == id         select cf.FileData; ...

Visual Foxpro dbf To MS SQL Server

27 October 2012 |

Задача – обновлять данные используя в качестве источника данных регулярно обновляемые файлы dbf, которые формируются средствами Visual Foxpro. Применялось решение: импортировать средствами DTS данные напрямую в MS SQL Server и потом уже работать с промежуточной базой. Нормальный рабочий вариант, объемы данных не большие, обновления выполняются редко. В связке WindowsXP + MS SQL 2008R2 с использованием драйвера “Microsoft OLE DB Provider for Visual FoxPro 9.0” всё работало и не было поводов о чем либо задумываться. Мир разработки программного обеспечения изменчив – наступил момент перехода на MS SQL 2012, а он требует Windows 7. После такого радикального обновления программного обеспечения...

WTF: Oracle Function

11 April 2011 |

Думал что такое только в шутках бывает: function XXX."MIN5"  (x1 in number, x2 in number, x3 in number, x4 in number, x5 in number) return number as begin if (x1 < x2 and x1 < x3 and x1 < x4 and x1 < x5) then return x1; end if;...

RS2008 R2 - Chrome/Safari

01 October 2010 |

MS Reporting Service хороший продукт, который заметно развивается от версии к версии. Наблюдая такое развитие, использование именно этой платформы для построения отчетности представляется перспективным, особенно если разрабатываемое решение основано на технологиях и продуктах Microsoft. Кроме плюсов есть и минусы… чем славится компания Microsoft: Шаблонность решений – у вас все хорошо пока вы действуете в рамках, как только понадобилось что-то не предусмотренное, то продукты MS из друзей превращаются во врагов. Плохая совместимость с тем что не из мира MS Reporting Service – как будто специально создан для демонстрации этих особенностей....

MS SQL 2008 Data Compare

23 January 2010 |

В VS2008 сразу не получилось сравнить данные баз данных MS SQL2008. А всё потому что Microsoft® Visual Studio Team System 2008 Database Edition GDR не поддерживает MS SQL2008 и оказывается надо установить Microsoft® Visual Studio Team System 2008 Database Edition GDR R2. И до этого надо как то самому догадаться, потому что Windows Update ничего такого не предлагает. Но это затруднение чудесным образом познакомило с бесплатным приложением для сравнения данных из баз данных: dbForge Data Compare for SQL Server. По возможностям настройки, функциональности и удобству использования превосходит Visual Studio Team System 2008 Database Edition GDR R2. Особенно полезна возможность...

VS2008 Database Edition

03 May 2009 |

Для отслеживания изменений в данных можно использовать утилиту TableDiff.exe, но если эта задача носит регулярный и частый характер, то использование этой утилиты может занимать заметные временные и человеческие ресурсы. К примеру TableDiff.exe не поддерживает тип данных: nvarchar(max). На рынке существуют различные утилиты реализующие такую функциональность практически все коммерческие. Участие в программе Microsoft BizSpark открыло возможность познакомиться с продуктом VS 2008 Database Edition. Который содержит функциональность Data Compare и много другой относящийся к работе с базами данных, которая доступна именно в этой редакции Visual Studio и поэтому многие разработчики либо не подозревают о её существовании либо не имеют навыков её...

MS SQL Simple Trick

22 April 2009 |

В последнее время часто приходится работать с базой данных, рутинная работа. Часто сталкиваешься с задачами, которые решаешь, а уже через месяц не можешь вспомнить, как это делал, опишем парочку таки задач. Если есть строка, содержащая цифры и вам надо выделить их ВСЕ, то удобно использовать вот такую функцию: CREATE FUNCTION [dbo].[ExtractOnlyNumberFromString] (@data nvarchar(max)) RETURNS nvarchar(max) AS BEGIN ...

Time-Oriented Database Concept

25 March 2009 |

Вопрос о том как отслеживать историю изменений данных и получать сведенья из прошлого возникает с завидной регулярностью. И вот недавно появилась снова, лучшее описание этой задачи и методов ее решения, из того что нашел: Developing Time-Oriented Database Applications in SQL. Вместе с тем пришлось писать свое виденье, это может быть интересно многим,  публикую его полностью, хотя оно и не имеет формат для сообщения в блоге. Введение Документ предназначен для объяснения концепции разработки зависимых от времени баз данных. Под зависимость от времени понимается возможность получить целостную информационную картину на любой момент времени в прошлом. Документ объясняет концепцию на основе абстрактного...

MSSQL 2008 FILESTREAM: Dark Side

08 February 2009 |

Относительно недавно в блоге были заметки: SQL Server 2008: FILESTREAM и Upload Large Files Over HTTP, в которых рассказывалось о новом типе данных в SQL Server 2008 - FILESTREAM. Напомним, что такое FILESTREAM: Хранилище FILESTREAM объединяет компонент SQL Server Database Engine с файловой системой NTFS, размещая данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде файлов. С помощью инструкций Transact-SQL можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM. Интерфейсы файловой системы Win32 предоставляют потоковый доступ к этим данным. Несмотря на то, что заметки основывалось на практике важные ограничения/особенности использования этого типа данных...

SQL Server 2008: FILESTREAM

30 December 2008 |

В SQL Server 2008 появился новый тип данных FILESTREAM. Хранилище FILESTREAM объединяет компонент SQL Server Database Engine с файловой системой NTFS, размещая данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде файлов. С помощью инструкций Transact-SQL можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM. Интерфейсы файловой системы Win32 предоставляют потоковый доступ к этим данным. Звучит любопытно, если файлы это просто разновидность данных в вашей информационной системе, то работать с ними логично через СУБД. Тем не менее из-за производительности часто приходилось выбирать хранение файлов в файловой системе. Пока что все это было только...