|
Для знатоков SQL | ☑ | ||
---|---|---|---|---|
0
pochemu
18.12.12
✎
16:55
|
Обновлял как-то базу динамически - нарушилась целостность структуры... Из бэкапа восстановил таблицу dbschema и база заработала. Но потом оказалось, что если в один документ добавить реквизит, то база не обновлялась, вылетает ошибка. Скорее всего это из-за того, что в dbnames прописан столбец в этом документе, которого на самом деле не существует.. Вот я и хочу прочитать в таблице Params бинарную запись dbnames, изменить что мне надо и засунуть изменения обратно. Как это можно осуществить?
|
|||
1
Defender aka LINN
18.12.12
✎
16:59
|
(0) Рекомендую предварительно закупить пару банок вазелина
|
|||
2
mikecool
18.12.12
✎
17:01
|
рискну предположить, что бинарник там - это хмл, но не факт
а в обчем - не с той стороны ты начал бутерброд есть, дядя Федор, имхо |
|||
3
pochemu
18.12.12
✎
17:01
|
(1) База работает нормально, все данные на месте. Проблема только в одном столбце одного документа, не дает метеданные этого дока менять..
|
|||
4
pochemu
18.12.12
✎
17:03
|
(2) С какой надо? Находил на форумах, что доставали данные и заменяли их. Но не раскрывалась сам механизм.. Читал, что данные надо разархивировать еще.
|
|||
5
samozvanec
18.12.12
✎
17:04
|
тестирование исправление? просто выгрузить-загрузить дт? что-то из этого пробовал?
|
|||
6
pochemu
18.12.12
✎
17:05
|
(5) Тестирование-исправление не помогло, всю ночь делалось. ДТ - выгружать - загружать, слишком долгая тема, да и места на диске мало сейчас (оставлю на последок).
|
|||
7
samozvanec
18.12.12
✎
17:08
|
(6) с цфкой из бекапа можно попробовать объединить полностью. я бы такие действия в первую очередь попробовал, так как алгоритмы закрытые, что конкретно делают - хз. может возьмет и сформирует тебе dbnames по структуре базы, мало ли, что разрабы курили
|
|||
8
Evg
18.12.12
✎
17:09
|
(0) тут не нужно особых знаний sql, топик неправильный.
|
|||
9
Hipernate
18.12.12
✎
17:10
|
тут SQL и не пахнет, причем тут знатоки SQL??
|
|||
10
pochemu
18.12.12
✎
17:12
|
(7) Хм, я вначале просто попробовал - выгрузил cf из бэкапа, загрузил на касячную базу - не помогло. Но это было до того, как я структуры таблиц SQL синхронизировал и заменил dbschema. Сейчас еще разок попробую. Но читать данные из SQL и записывать обратно - это было бы круто даже если бы и небыло у меня проблемы с базой..
|
|||
11
pochemu
18.12.12
✎
17:17
|
(9) Как не пахнет? Есть запись в SQL.... читать её, записать её, 1С... Те кто SQL 1С-овской постоянно зависает - наверняка знают как читать и записывать бинарные файлы..
|
|||
12
МихаилМ
18.12.12
✎
17:20
|
(0)
запись dbnames сжата алгоритмом deflate http://msdn.microsoft.com/ru-ru/library/system.io.compression.deflatestream.aspx |
|||
13
pochemu
18.12.12
✎
17:25
|
(12) Спасибо. А в 1С-ке или delphi не находил примеров использования?
|
|||
14
Hipernate
18.12.12
✎
17:25
|
сначала пробуй простые способы потом используй лом и молоток(6)
|
|||
15
pochemu
18.12.12
✎
17:28
|
(14) Мне интереснее научиться читать-записывать, да и время не жмет (документ не типовой)
|
|||
16
sda553
18.12.12
✎
17:41
|
А что хоть за ошибка то вылетает при обновлении? Какой текст?
|
|||
17
samozvanec
18.12.12
✎
17:43
|
(16) вопрос по сути гениален, поддерживаю)
|
|||
18
pochemu
18.12.12
✎
17:44
|
В процессе обновления информационной базы произошла критическая ошибка.
по причине: Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: Не удалось вставить значение NULL в столбец "_Fld28219", таблицы "StalTestZUP.dbo._Document22276NG"; в столбце запрещены значения NULL. Ошибка в INSERT. HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1 |
|||
19
pochemu
18.12.12
✎
17:45
|
(17) Ну я вопрос задавал в форме, которая по сути знания текста ошибки не требует..
|
|||
20
pochemu
18.12.12
✎
17:46
|
(16) Вот мне и надо этот столбец "_Fld28219" (18) Удалить...
|
|||
21
olegves
18.12.12
✎
17:50
|
(18) у тебя похоже описание конфигурации не содержит инфы по полю _fld28219, так что придется лом брать.
Спрашивается: зачем ломал конфу средствами скуля? Получил приключений на свою ж*пу |
|||
22
olegves
18.12.12
✎
17:52
|
(20) кури ALTER TABLE
|
|||
23
pochemu
18.12.12
✎
17:53
|
(21) я структуры синхронизировал, только данные о структуре не синхронизировались до конца, вот и хочу досинхронизировать. Ничего тут страшного нет, данные не теряются. Это всего-то проблема с парой записей, которые надо удалить.
|
|||
24
stix2010
18.12.12
✎
17:54
|
(0) вообще то надо начинать с ConfigSave
|
|||
25
pochemu
18.12.12
✎
17:55
|
(22) Ты не понял. Есть таблица Params, в ней есть запись DBNames, в этой записи есть данные бинарные, в этих бинарных данных содержится инфа о конфе. Вот мне эти данные и надо поправить, а не удалить столбец..
|
|||
26
pochemu
18.12.12
✎
17:56
|
(24) С этого было начато, но не помогло, поскольку структура базы данных поменялась. Я конечное решение привел.
|
|||
27
pochemu
18.12.12
✎
17:57
|
(22) Как тут уже было сказано (12) Надо мне научиться пользоваться алгоритмом сжатия, да и всё.
|
|||
28
vmv
18.12.12
✎
17:57
|
(0) загрузи в файловую, выполнни все операции по профилактике(утилита ремонта таблиц, крушение битых ссылок, и т.д. в режиме тестирования/исправления)
потом закугрузи в скуль "хорошую" другой путь копаться в дебрях скуля, но это путь когда вариант 1 не дал результата и последний на порядок гемморойней |
|||
29
samozvanec
18.12.12
✎
17:59
|
(18) я, конечно, может, глупость скажу, но пробовал ли ты ставить флаг нулл у столбца? и есть ли столбец?
|
|||
30
pochemu
18.12.12
✎
18:00
|
(28) Это я использую, если забью на SQL. Мне так интереснее, да и на будущее пригодится.
|
|||
31
pochemu
18.12.12
✎
18:00
|
(29) - (25)
|
|||
32
pochemu
18.12.12
✎
18:01
|
(29) Инфа о наличии столбца находится в бинарных данных, в самой-же реальной структуре его просто нет.
|
|||
33
vmv
18.12.12
✎
18:04
|
(30) организация таблиц и связей структур данных 1С в классических реляционных СУБД понятна только разработчикам платформы и людям, которые для них собирали грибы - удачи)
|
|||
34
stix2010
18.12.12
✎
18:08
|
реквизит переименуй в конфигураторе и сохранись и обратно
|
|||
35
Serginio1
18.12.12
✎
18:11
|
(0) Интересно это ноги растут отсюда v8: Тем кто в SQL шарит
или зайцы плакали но ели кактус? |
|||
36
MaxS
18.12.12
✎
18:15
|
Сделать копию базы без данных и экспериментировать на ней. Если получится починить, из копии перенести конфигурацию в рабочую базу.
|
|||
37
Serginio1
18.12.12
✎
18:27
|
||||
38
denfil
18.12.12
✎
20:05
|
У меня такая шляпа произошла когда при обновлении файловой базы вырубили свет.
2 недели попыток, восстановления этой таблицы прошли зря. Связей и структуры этой таблицы мне мне понять не дано. Хотя структура файла аналогична ALS-файлу. Но связи с другими таблицами я не нашел. Тестирование и прочие типовые средства либо ни чего не находят либо вываливаються с ощибкой. Не помню точно как победил. Но косяк был с недавно добавленным реквизитом. Поэтому вставил в файл cf-ник и DBSchema из копии, а потом тестирование и исправление. |
|||
39
Ferz
18.12.12
✎
23:22
|
(0)в Ei это можно сделать. Да действительно отсутствующий столбец описанный в DBNames может приводить к ошибке. Но не единым DBNames,,,,
более подробнее тут http://blog.1c-ei.ru/2012/12/blog-post.html |
|||
40
_Demos_
18.12.12
✎
23:56
|
DROP TABLE AdventureWorks2012.dbo.SalesPerson2 ;
как пример смотри ничего не перепутай))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |