Identity insert имеет значение off

При разработке правил обмена 1С 8 широко используется возможность программного переопределения поведения правил обмена — механизм обработчиков. Обработчики событий существенно расширяют функционал и являются незаменимым инструментом настройки правил обмена в тех случаях, когда интерактивных возможностей конфигурации недостаточно.

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

Если это платформа «1С: Предприятие 7.7», то код обработчиков интегрируется в код обработки выгрузки или загрузки. Соответственно, каждый обработчик или алгоритм выделяется в отдельную функцию и доступен для отладки при обмене.

Если выгрузка или загрузка происходят на платформе «1С: Предприятие 8», то код обработчиков не интегрируется в код обработки обмена данными, а выгружается в файл правил обмена. В процессе обмена данными код обработчиков или алгоритмов берется из файла правил и выполняется непосредственно в контексте оператора «Выполнить». Для отладки кода обработчиков и алгоритмов можно воспользоваться обработкой «Универсальный обмен данными XML».

Вопрос: Невозможно вставить явное значение для столбца идентификаторов в таблице


Добрый день.
Появляется ошибка:"Невозможно вставить явное значение для столбца идентификаторов в таблице "TableName", когда параметр IDENTITY_INSERT имеет значение OFF."
Я так понял, что надо переключить в состояние ON следующей командой:
SQL
1 SET IDENTITY_INSERT TableName ON
.
Но запрос не выполняется...Наверно надо прописать базу конкретную, в которой таблица хранится?
Подскажите пожалуйста.
Спасибо.

Ответ: F5 нажми

Вопрос: Вставка значения в auto incr поле


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

Вообще мне необходимо из mysql перенести данные в sql server.
Пробовал разные тулзы, но ничего дельного не получилось (наверно потому что в новых таблицах немного подругому названы поля, и немного другие типы полей).

Решил что лучше написать скрипт и самому наинзертить. Но наткнулся на то что insert неработает на auto incr поле если я явно в него записываю свое значение. Например:

Но тоже самое.
(поле id уникальное, primary key, autoinr.)

Как быть, куда копать?

Большое спасибо!

Ответ: Теперь пытаюсь экспортировать с локальной бд на удаленный сервер.
Инзертить на удаленную машину пару млн строк довольно неприятно, юзаю тулзу SSMS, она выдает ошибку "Не удалось вставить данные в столбец "id", доступный только для чтения."
Поскольку теперь я юзаю тулзу, писать SQL особо то негде.
Как я понимаю надо снять ограничение с поля (auto incr), непойму как сделать, куда копать?

Спасибо!

P.S. Удаленный сервер - azure.

Добавлено через 8 минут
Вот черт, пол дня гуглил не нашел, а после написания поста наткнулся на решение, оказывается в SSMS в окне "Выбор исходных таблиц и представлений" нужно тыкнуть на нужные таблицы, нажать кнопку снизу "Изменить", там поставить галочку "Разрешить вставку в столбец идентификаторов".
Также внимательно следите за кодировкой своего и удаленного сревера бд при экспорте, должна совпадать.

Вопрос: Вставить ячейку в существующее поле таблицы


Привет!
Есть проблема
в базе данных есть таблица которая заполняется при введении пользователем полей формы html
Данная таблица выводится прямо на сайте.
Как реализовать добавление к каждой строке таблицы бд еще одну форму html
Другими словами есть объявление которое разместил пользователь на сайте. Все эти объявления выводятся друг за другом через тег br. Как к каждому объявлению присоединить еще одну форму html состоящую из кнопки: "я пойду!" при нажатии на которую значение столбца с уникальный id повышалось на 1 начиная с нуля. Принцип лайка вконтакте
Я новичок. Поэтому интересно мнение экспертов по поводу решения этой проблемы. Мучаюсь уже неделю. Заранее спасибо

Вопрос: Как сложить или вычесть значения из разных таблиц в Access 2010? А конкретно значения столбцов


Как сложить или вычесть значения из разных таблиц в Access 2010? А конкретно значения столбцов
Ну и любое другое действие.

Ответ:

Сообщение от Nikon3

Необходимо реализовать данную функцию:
"Определить, сколько денег по видам пластиковых карт расходовали клиенты в последний месяц."

В той структуре, которая в Вашей БД решить задачу невозможно. В таблице расходов нет даты! Ввел дату операции в т. "Расход денежных средств", заполнил ее от фонаря. Если считать, что "последний" месяц это текущий, то запрос такой

SQL
1 2 3 4 5 6 SELECT Карты. [ Код карты] , Карты. [ Тип карты] , SUM ([ Расход денежных средств] . [ Кол- во снятых со счета средств] ) AS [ Сумма расходов] FROM ([ Расход денежных средств] INNER JOIN Клиенты ON [ Расход денежных средств] . [ ФИО Клиента] = Клиенты. [ Код клиента] ) INNER JOIN Карты ON Клиенты. [ Тип карты] = Карты. [ Код карты] WHERE MONTH ([ Расход денежных средств] . ДатаОперации) = MONTH (DATE () ) GROUP BY Карты. [ Код карты] , Карты. [ Тип карты] , Карты. [ Тип карты]

Смотрите во вложении запрос "РасходыПоследнегоМесяца"

Вопрос: Вывод значений столбца, которые не равны значениям другого столбца


Необходимо вывести строки табл.1 со столбцами "А","Б","В" с условием, что значения столбца "В" не равны значениям столбца "Г" из табл.2. Если написать условие where "В" <> "Г", то выдает все возможные варианты (сравнивая первое значение одного столбца со всеми поочередно из другого). Нужно исключить значения "Г" из "В". Данные одного типа.

Вопрос: Как узнать сколько памяти занимает таблица и каждый столбец в таблице


Как узнать сколько памяти занимает таблица и каждый столбец в таблице Access?

Ответ: Из хелпа. Типы полей БД

Текстовый Текст или комбинация текста и чисел, например, адрес, а также числа, не требующие вычислений, например, номера телефонов, номенклатурные номера или почтовый индекс. Хранятся только введенные в поле символы, позиции, не использованные в текстовом поле, не хранятся. Для управления максимальным числом вводимых символов определите свойство Размер поля (FieldSize). до 255 символов.
Поле MЕМО Длинный текст или числа, например, пометки или описание. До 64000 символов введенных вручную или до 1 ГБ программно.
Числовой Числовые данные, используемые для математических вычислений, за исключением вычислений, включающих денежные операции (используйте денежный тип). Для определения числового типа определите свойство Размер поля (FieldSize) 1, 2, 4 или 8 байт. 16 байт только для кодов репликации
Дата/время Даты и время 8 байт.
Денежный Значения валют. Денежный тип используется для предотвращения округлений во время вычислений. Предполагает до 15 символов в целой части числа и 4 - в дробной 8 байт.
Счетчик Автоматическая вставка последовательных (отличающихся на 1) или случайных чисел при добавлении записи 4 байта. 16 байт только для репликации кодов.
Логический Поля, содержащие только одно или два значения, таких как «Да/Нет», «Истина/Ложь», «Включено/Выключено» 1 бит.
Объекты OLE Объекты (например, документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звуки и другие данные), созданные в других программах, использующих протокол OLE. Объекты могут быть связанными или внедренными в таблицу Microsoft Access. Для отображения объекта OLE в форме или отчете необходимо использовать присоединенную рамку объекта До 1 гигабайта (ограничено объемом диска).
Гиперссылки Поле, в котором хранятся гиперссылки. Гиперссылка может быть либо типа путь UNC, либо URL. Каждая часть гиперссылки может содержать до 2048 символов

Одно поле занимает память равную сумме длин в записях. Таблица - сумму длин полей. Также есть индексы, различные вспомогательные и системные таблицы, свойства и иное, занимающее память

Для Access 64-бит есть и иные, более длинные типы полей

Вопрос: Планирование БД: влияет ли количество столбцов в таблице на производительность?


влияет ли количество столбцов в таблице на производительность.

Как будет эффективнее создать два поля time, count_time и извлекать два значения
или создать одно поле tt в котором разделить эти значения символом "|" и извлекать разделяя их SUBSTRING_INDEX(tt , "|", 1) AS time , SUBSTRING_INDEX(tt , "|", -1) AS count_time

Ответ:

Сообщение от WeMeSder

SUBSTRING_INDEX AS time

Что это и где вы такое в аксес нашли?

Сообщение от WeMeSder

как будет эффективнее создать два поля time, count_time и извлекать два значения

Однозначно этот вариант. У вас два ЧИСЛА по сути, это хорошие - компактные и быстрые - типы данных.

А вы хотите 1) конвертировать их в строки, что и места занимает больше, и обрабатывается медленнее
2) тип данных дата допускает не любые цифры - т.е. еще писать самому проверку на допустимость дат
3) сортировка у даты как даты и у даты в виде строки разная, не приходило в голову?
4) ну и идея запихнуть разные по смыслу данные в одно поле - вообще эпик

Вопрос: Как сортировать столбец в таблице от А до Я через VBA ?


Всем привет!

Подскажите Как сортировать столбец в таблице от А до Я с помощью VBA ?

Ответ: В конструкторе таблиц есть свойство Порядок сортировки. Там можно записать имена сортируемых полей и порядок сортировки (Asc, Desc). В открытой таблице можно выделить столбец и задать порядок сортировки. Если при этом экранный образ таблицы (Datasheet) сохранить, то и при следующих вызовах порядок сохранится. Можно открытый таблице (форме, запросу) присвоить порядок программно, воспользовавшись например командой SetOrderBy
as (select "Ремарк, Эрих, Мария, Родригес" "Фернандес, Перес, Владимир, Кастулович" from dual union all select "Хосуэ, Гонсалес, де Леон" from dual union all select "Карам, Абу, Иль, Хатаб, Оглы" from dual) select fio from t;

2) Автозаполнение: Триггер на вставку/обновление + функция транслитерации русских букв
или, как вариант, виртуальная колонка

mytransliterationfunction(family)

p.s. Часто, Латинское написание может не совпадать с автоматически сгенерированным
например на банковских картах, так что я бы предусмотрел кроме автоматического заполнения и ручное

Вопрос: Некорректное заполнение столбца идентификаторов при инсёрте данных


Доброго времени суток. Подскажите пожалуйста кто знает в чем может быть причина.
Использую SQL Manager 2008 fro SQL Server.
Создаю новую таблицу со столбцом идентефикаторов, указываю начальное значение - 1, инкремент - 1.
Далее записываю в нее данные запросом вида:

Insert into peny. peny (id_customer, period_calc) values (@id_customer, @period_calc)

При этом столбец идентификаторов заполняется почему то не с еденицы, а со значения равного = Максимальное значение идентификатора в таблице + кол-во вставляемых строк +1.

Приложил скрин таблицы. В данном случаее сначало вставлено 2 записи, потом еще 5 и затем еще 2.

К сообщению приложен файл. Размер - 7Kb

Ответ: Ясно, понятно. Спасибо.)



identity_insert имеет значение off ms sql (11)

Я не уверен, что использовать для «Вставить таблицу», но если вы просто пытаетесь вставить некоторые значения, попробуйте:

Insert Into (OpDescription,FilterID) values ("Hierachy Update",1);

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

Я выполняю следующий скрипт при ошибке ниже. Какова ошибка и как ее можно решить?

Сервер: Msg 544, уровень 16, состояние 1, строка 1

Невозможно вставить явное значение для столбца идентификации в таблицу «table», если для параметра IDENTITY_INSERT установлено значение OFF.

И если вы используете Oracle SQL Developer для подключения, не забудьте добавить / sqldev: stmt /

/ sqldev: stmt / set identity_insert TABLE on;

В вашей организации для этой таблицы добавьте атрибут DatabaseGenerated над столбцом, для которого установлен идентификатор:

Public int TaskId { get; set; }

не ставьте значение в OperationID, потому что оно будет автоматически сгенерировано. попробуй это:

Insert table(OpDescription,FilterID) values ("Hierachy Update",1)

Вы вставляете значения для OperationId который является столбцом идентификации.

Вы можете включить идентификационную вставку в таблицу так, чтобы вы могли указать свои собственные значения идентичности.

SET IDENTITY_INSERT Table1 ON INSERT INTO Table1 /*Note the column list is REQUIRED here, not optional*/ (OperationID, OpDescription, FilterID) VALUES (20, "Hierachy Update", 1) SET IDENTITY_INSERT Table1 OFF

Проблема связана с использованием непечатаемого DBContext или DBSet, если вы используете интерфейс и реализуете метод savechanges в общем виде

Если это ваш случай, я предлагаю строго типизировать DBContex, например

MyDBContext.MyEntity.Add(mynewObject)

то. .Savechanges будут работать

Если вы используете Liquibase для обновления вашего SQL Server, скорее всего, вы попытаетесь вставить ключ записи в поле autoIncrement. Удалив столбец из вставки, ваш скрипт должен работать.

...

Будьте очень осторожны при установке IDENTITY_INSERT в положение ON. Это плохая практика, если база данных не находится в режиме обслуживания и не установлена ​​на одного пользователя. Это влияет не только на вашу вставку, но и на тех, кто пытается получить доступ к таблице.

Почему вы пытаетесь поместить значение в поле идентификации?

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

Insert table(OperationID,OpDescription,FilterID) values (20,"Hierachy Update",1)

поэтому ваш запрос будет

Insert table(OpDescription,FilterID) values ("Hierachy Update",1)

Хорошо, я решил, что мой довольно простой. Убедитесь, что ваш первичный ключ с тем же именем совпадает с вашими классами, где единственное различие заключается в том, что ваш первичный ключ добавляет к нему ID или указывает на первичные ключи, которые не связаны с тем, как класс.

Просто Если вы получите эту ошибку на SQL-сервере, запустите этот запрос,

SET IDENTITY_INSERT tableName ON

Например, если имя таблицы является учеником, тогда запрос выглядит так: SET IDENTITY_INSERT student ON

Если вы получаете эту ошибку в своем веб-приложении или используете инфраструктуру сущности, сначала запустите этот запрос на сервере SQL и обновите модель сущности (.edmx file) и создайте проект, и эта ошибка будет решена