Найдено 174 результата

deas
Пт 12 окт 2018 09:51
Форум: dbForge for PostgreSQL
Тема: dbForge for PostgreSQL
Ответы: 22
Просмотры: 47819

Re: dbForge for PostgreSQL

Здравствуйте.

Когда ждать вторую версию?
Очень интересует поддержка 10 версии. А то даже посмотреть студию не получается.

И механизм сравнения объектов, схем планируется? Может разрабатывается как отдельный продукт?
Хотя бы выгрузка всех объектов в файлы будет?
Все это нужно, что бы сложить структуру БД в GIT, пусть внешними средствами, но хранить историю разработки. И простым сравнением файлов получать список изменений.

З.Ы. Очень сложно найти русский форум. Прям вот еле откопал. Ссылка с шапки сайта (меню поддержка) даже с русской версии сайта ведет на английский форум. И только ссылка в подвале привела на русский.
deas
Пт 01 дек 2017 12:38
Форум: dbForge for SQL Server
Тема: Execution Timeout Expired
Ответы: 3
Просмотры: 13401

Re: Execution Timeout Expired

Хорошо, спасибо.
Сейчас ситуация с тем же запросом не повторяется, попробую как возникнет.
deas
Чт 30 ноя 2017 14:03
Форум: dbForge for SQL Server
Тема: Execution Timeout Expired
Ответы: 3
Просмотры: 13401

Re: Execution Timeout Expired

При этом сам запрос выполняется в MSSMS за 2 секунды.
С оберткой SET FMTONLY ON;, он же выполняется 18 секунд и ничего не отваливается.
deas
Чт 30 ноя 2017 13:59
Форум: dbForge for SQL Server
Тема: Execution Timeout Expired
Ответы: 3
Просмотры: 13401

Execution Timeout Expired

Последнее время все чаше стал сталкиваться со следующей ошибкой. При этом раньше никогда не возникала.

Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

При этот тот же запрос в MS SMS отрабатывает без проблем.
Зависает на SET FMTONLY OFF; SET FMTONLY ON; текст запроса SET FMTONLY OFF;

Что не так? Что где настроить, исправить?
deas
Ср 26 июл 2017 09:20
Форум: dbForge for SQL Server
Тема: Автоматическое добавление определения переменных
Ответы: 1
Просмотры: 11511

Автоматическое добавление определения переменных

Здравствуйте.

Есть ли такой функционал или может вам понравиться и вы решите это сделать?

В скрипте при запуске есть вопрос о вводе значений переменных, которые не определены в самом скрипте. А можно ли написать все DECLARE в начале скрипта, по нажатию какой-то одной кнопки. Что бы не задавать их в отдельном окне а видеть прям в тексте скрипта.
Это удобно когда пересылаешь скрипт другим людям, а значения уже заданы.

Было бы удобно по комбинации кнопок и в выпадающем меню иметь такую функцию. Нажал и в первых строчках появились все определения со значениями по умолчанию.

Код: Выделить всё

DECLARE @str VARCHAR(20) = '';
DECLARE @inc INT = 0;
ЗЫ. Только не отправляйте меня писать это в голосование по пожеланиям. :)
deas
Пт 26 май 2017 14:36
Форум: dbForge for SQL Server
Тема: Сравнение схем
Ответы: 6
Просмотры: 15956

Re: Сравнение схем

Создаем такой набор объектов в двух БД

Код: Выделить всё

CREATE TABLE dbo.test (
  id INT NOT NULL,
  link VARCHAR(50) NULL,
  CONSTRAINT PK_test_id PRIMARY KEY CLUSTERED (id)
) ON [PRIMARY]
GO

CREATE VIEW dbo.v_test 
WITH SCHEMABINDING
AS SELECT t.link, count_big(*) AS cnt
FROM dbo.test AS t
GROUP BY t.link
GO

CREATE UNIQUE CLUSTERED INDEX ix_v_test
  ON dbo.v_test (link)
  ON [PRIMARY]
GO

CREATE VIEW dbo.v_big_test
AS SELECT t.id 
FROM dbo.test AS t
  INNER JOIN v_test AS v
  ON t.link = v.link
WHERE v.cnt > 100
GO

CREATE VIEW dbo.v_test_big
AS SELECT t.id 
FROM dbo.test AS t
  INNER JOIN v_test AS v
  ON t.link = v.link
WHERE v.cnt > 100
GO
далее на одной из бд выполняем

Код: Выделить всё

ALTER TABLE dbo.test
ADD value INT NULL
GO
в результате сравнения получаем скрипт

Код: Выделить всё

--
-- Удалить представление [dbo].[v_test]
--
DROP VIEW IF EXISTS [dbo].[v_test]
GO
IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO

--
-- Создать столбец [value] для таблицы [dbo].[test]
--
ALTER TABLE [dbo].[test]
  ADD [value] [int] NULL
GO
IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO

--
-- Обновить представление [dbo].[v_big_test]
--
EXEC sp_refreshview '[dbo].[v_big_test]'
GO
IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO

--
-- Создать представление [dbo].[v_test]
--
GO
CREATE VIEW [dbo].[v_test] 
WITH SCHEMABINDING
AS SELECT t.link, count_big(*) AS cnt
FROM dbo.test AS t
GROUP BY t.link
GO
IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO

--
-- Создать индекс [ix_v_test] для объекта типа представление [dbo].[v_test]
--
CREATE UNIQUE CLUSTERED INDEX [ix_v_test]
  ON [dbo].[v_test] ([link])
  ON [PRIMARY]
GO
IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO

--
-- Обновить представление [dbo].[v_test_big]
--
EXEC sp_refreshview '[dbo].[v_test_big]'
GO
IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO
Я чуть сократил, но суть понятна.
У вас обработка представлений идет по алфавиту, а надо что бы сначала создавались удаленные, а уже потом рефреш.
deas
Пт 26 май 2017 10:40
Форум: dbForge for SQL Server
Тема: Скрипт изменения таблицы
Ответы: 2
Просмотры: 12464

Скрипт изменения таблицы

В таблице поменял порядок полей в primary key, при нажатии на кнопку скрипт изменений, падает.

Код: Выделить всё

Message: Ссылка на объект не указывает на экземпляр объекта.
Source: Devart.DbForge.DbObjects.SqlServer
TargetSite: Void Merge(Devart.DbForge.IDbObject, Devart.DbForge.Compare.ISchemaSyncContext)
HelpLink: 
Type: System.NullReferenceException
Place: 2
Stack:
   в Devart.DbForge.DbObjects.SqlServer.SqlRelationalIndexDifference.Merge(IDbObject result, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.Difference`1.GetRecreateActions(IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.SqlServer.SqlIndexDifference.GetRecreateActions(IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.SqlServer.SqlRelationalIndexDifference.GetRecreateActions(IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.Difference`1.GetSyncActions(IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.SqlServer.SqlRelationalIndexDifference.GetSyncActions(IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.SqlServer.SqlTableDifference.SyncDetails(List`1 actions, IDictionary`2 detachedActions, ISchemaSyncContext context, InternalDependencyHandler internalDependencyHandler)
   в Devart.DbForge.DbObjects.SqlServer.SqlTableDifference.AddSyncActions(List`1 actions, IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.Difference`1.GetSyncActions(IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.DbObjects.SqlServer.SqlTableDifference.GetSyncActions(IList`1 removeDependenciesActions, IList`1 invalidDependencies, IDictionary`2 detachedActions, ISchemaSyncContext context)
   в Devart.DbForge.Synchronization.Schema.ObjectSynchronizer.SynchronizeTargetObject(SynchronizationContext context, SyncObject syncObject)
   в Devart.DbForge.Synchronization.Schema.ActionComposer.<>c__DisplayClass0_0.<GenerateSyncActions>b__1(SynchronizationContext _context, SyncObject syncObject)
   в Devart.DbForge.Synchronization.Schema.ObjectSynchronizer.SynchronizeObjects(SynchronizationContext context, IList`1 objects, SynchronizeObjectDelegate syncProcedure)
   в Devart.DbForge.Synchronization.Schema.ActionComposer.GenerateSyncActions(SynchronizationContext context)
   в Devart.DbForge.Compare.SchemaSynchronization.WriteUpdateScript(TextWriter writer, IList`1 comparisonObjects, IOptionGroup options)
   в Devart.DbForge.Compare.ComparisonService.WriteAlterScript(TextWriter writer, IList`1 source, IList`1 target, IOptionGroup options, Boolean mapObjectsAsIs, Boolean throwOnUnsupported, Boolean updateStatusBar)
   в Devart.DbForge.Compare.ComparisonService.GetAlterScript(IList`1 source, IList`1 target, IOptionGroup options, Boolean mapObjectsAsIs, Boolean throwOnUnsupported, Boolean updateStatusBar)
   в Devart.DbForge.Compare.ComparisonService.GetAlterScript(IDbObject source, IDbObject target, IOptionGroup options, Boolean mapObjectsAsIs, Boolean throwOnUnsupported, Boolean updateStatusBar)
   в Devart.DbForge.DbObjects.DbObjectEditHelper.GetAlterTableScript(IDbTable sourceTable, IDbObject targetTable, ISchemaComparisonOptions options)
   в Devart.DbForge.DbObjects.DbTableEditor.GetCurrentAlterText(Boolean toUpdateDatabase)
   в Devart.DbForge.DbObjects.DbObjectEditor.HtcmBRwvq1(Boolean  , DbObject  , Boolean  )
   в Devart.DbForge.DbObjects.DbObjectEditor.GetScriptChanges(Boolean toUpdateDatabase, Boolean withRefactoring)
   в Devart.DbForge.DbObjectDocument.GetScriptChanges(DbObject dbObject, DbObject localDbObject, Boolean withRefactoring, Boolean toUpdateDatabase)
   в Devart.DbForge.DbObjectDocument.VmFXEQVgT(Boolean  )
   в Devart.DbForge.DbObjectDocument.RIsP2fr4Jk(ICommand  , CommandStatus&  , Object  )
   в Devart.DbForge.DbObjectDocument.PS6PkcY76b(ICommand  , CommandStatus&  , Object  )
   в Devart.Shell.Common.CommandTargetHelper.InvokeCommand(ICommand command, Object instance)
   в Devart.DbForge.ConnectedDocument.InvokeCommand(ICommand command, Object instance)
   в Devart.Shell.CommandService.InvokeCommand(ICommand command, Object instance, IList`1 commandTargetChain)
   в Devart.Shell.DocumentHostControl.documentButton_Click(Object sender, EventArgs e)
   в System.Windows.Forms.Control.OnClick(EventArgs e)
   в Controls.Editors.DropDownButton.OnClick(EventArgs e)
   в Controls.Editors.BaseButton.OnMouseUp(MouseEventArgs e)
   в Controls.Editors.DropDownButton.OnMouseUp(MouseEventArgs e)
   в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   в System.Windows.Forms.Control.WndProc(Message& m)
   в Controls.Utils.Controls.ControlBase.WndProc(Message& m)
   в Controls.Editors.DropDownButton.WndProc(Message& m)
   в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Я бы отправил вам полный отчет о ошибке, но уж больно много личной информации в нем.
deas
Вт 16 май 2017 12:54
Форум: dbForge for SQL Server
Тема: Генерация документации
Ответы: 3
Просмотры: 9507

Re: Генерация документации

Отправил на почту.
deas
Пн 15 май 2017 14:11
Форум: dbForge for SQL Server
Тема: Генерация документации
Ответы: 3
Просмотры: 9507

Генерация документации

А какими правами надо обладать чтобы создать документацию?

У нас принципиально нет у разработчиков прав sysadmin. И у меня ругается при попытке создать документацию.
Произошла ошибка во время построения объектов сервера: 'User does not have permission to perform this action.'
deas
Пн 15 май 2017 14:06
Форум: dbForge for SQL Server
Тема: Поиск объектов
Ответы: 2
Просмотры: 12426

Поиск объектов

Здравствуйте.

В окне поиска объектов, если вставить из буфера обмена текст в поле "Object Search" и не нажать на поиск, а например перейти к выбору БД, то текст пропадает.
Не критично, но постоянно на это натыкаюсь, т.к. открывая окно начинаешь заполнять поля слева на право, т.е. сначала вставляешь текст поиска, а уже потом выбираешь в каких БД это искать.
Будет здорово, если текст не будет пропадать.
deas
Ср 03 май 2017 15:37
Форум: dbForge for SQL Server
Тема: Сравнение схем
Ответы: 6
Просмотры: 15956

Сравнение схем

Здравствуйте.

У меня есть таблица для которой созданы несколько представлений, включая индексированное представление (WITH SCHEMABINDING). При этом представления к этой таблице ссылаются сами на себя, а точнее на это индексированное представление.
Примерно так:
index_view = select from table
view = select from table join index_view

Так вот при изменении таблицы инструмент сравнения создает скрипт при котором он сначала удаляет все зависимые представления, потом обновляет таблицу, а потом актуализирует все представления (sp_refreshview) и уже в конце создает недостающие представления.

В следствии чего у меня падает скрипт обновления на стадии sp_refreshview, т.к. не все представления в данный момент существуют.

Было бы хорошо, если бы сначала создавались все удаленные объекты, а уже потом проходить sp_refreshview по остальным.
deas
Пн 17 апр 2017 10:23
Форум: dbForge for SQL Server
Тема: Память
Ответы: 6
Просмотры: 26115

Re: Память

Я нашел в чем проблема. Это окно системы управления версиями.
На любой базе нажимаю "Зафиксировать" открывается окно, ничего не делаю закрываю его, а память при этом практически не освобождается.
Поэкспериментировал с разными базами или даже если одну и туже базу открывать, догнал занятость памяти до 500 метров. При этом и со временем память не освобождается. Ну а так как я вообще не закрываю ваше приложение вот и получал со временем большие значения.

Как систему контроля версий использую GIT, тип баз Dedicated.
deas
Вт 11 апр 2017 13:14
Форум: dbForge for SQL Server
Тема: Память
Ответы: 6
Просмотры: 26115

Re: Память

Я попробую. Пока мне не удалось понять в какой именно момент это происходит, я всегда вижу только результат.
deas
Вт 11 апр 2017 12:33
Форум: dbForge for SQL Server
Тема: Память
Ответы: 6
Просмотры: 26115

Память

Здравствуйте.

Не знаю даже что написать в дополнение и как это происходит, но например из нестандартного у меня есть процедуры, которые возвращают до 30 запросов и открывается 30 вкладок.
И компьютер не выключается, так что ваша студия может быть постоянно открыта неделю, две.

В момент скриншота все вкладки закрыты и после закрытия прошло минут 5.
deas
Ср 29 мар 2017 17:09
Форум: dbForge for SQL Server
Тема: GIT
Ответы: 12
Просмотры: 45771

Re: GIT

Не смог поменять пароль в подключении к GIT.

База уже привязана к GIT репозиторию. В репозитории поменял пароль, при попытке подключения логично пишет что не авторизовано. Но вот так и не смог найти, а где же поменять пароль в этой форме или где посмотреть список всех соединений и там поменять пароли?

Точнее список всех соединения я потом нашел через подключение новой базы к репозиторию (может есть путь логичнее?) и даже поменял там пароли во всех соединениях, но вот на уже привязанные базы это никак не подействовало они так и не подключаются, пришлось разорвать подключение и подключить заново.

В общем все конечно решилось, но это долго и очень не удобно, логично если при такой ошибке выдавало бы окно со свойствами соединения и возможностью их поменять. Или по шестеренке справа.