|
|
|
Как на основании файла .sql создать новые таблицы в SQL-2000 ? | ☑ | ||
|---|---|---|---|---|
|
0
мистер игрек
11.12.08
✎
11:09
|
Есть такой файл *.sql, там описание таблиц и полей таблицы.
Как на основании файла .sql создать новые таблицы в SQL-2000 ? |
|||
|
1
smaharbA
11.12.08
✎
11:10
|
нажать ентер
|
|||
|
2
мистер игрек
11.12.08
✎
11:10
|
(1) хер тебе
|
|||
|
3
vde69
11.12.08
✎
11:11
|
скорее всего его надо просто выполнить в консоли скуля
|
|||
|
4
Господин ПЖ
11.12.08
✎
11:11
|
посмотреть что в них через QA в скуле...
|
|||
|
5
rs_trade
11.12.08
✎
11:11
|
содержимое файла покажи
|
|||
|
6
Mikeware
11.12.08
✎
11:12
|
(5) truncate table ...
:-) |
|||
|
7
ДенисЧ
11.12.08
✎
11:12
|
Открываем Query Editor, подключаемся к нужной базе, копипастим в окно sql-команды и запускаем (F5)
|
|||
|
8
vde69
модератор
11.12.08
✎
11:13
|
(2) отдыхает 30 минут
|
|||
|
9
rs_trade
11.12.08
✎
11:13
|
хотя показывать не обязательно, его просто открыть надо в QA и выполнить
|
|||
|
10
Господин ПЖ
11.12.08
✎
11:16
|
круто запускать не зная что там...
drop database например |
|||
|
11
CoolCat
11.12.08
✎
11:22
|
(10) неплохо ты создаешь таблицы :)
|
|||
|
12
мистер игрек
11.12.08
✎
11:42
|
(7) Creation of table 'ODS_XXARF_CUSTOMER_IF' failed because the row size would be 31766, including internal overhead. This exceeds the maximum allowable table row size, 8060.
Что за ошибка? |
|||
|
13
ДенисЧ
11.12.08
✎
11:43
|
(12) Слишком большие строки таблиц создаёшь.
|
|||
|
14
vde69
11.12.08
✎
11:44
|
превышение максимальной длины... вообще советую вот сюда на форум www.sql.ru
|
|||
|
15
мистер игрек
11.12.08
✎
11:44
|
Привожу кусок файла:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[IC_PMS_GCM_ITEM_INF]( [ORGANIZATION_CODE] [nchar](3) NOT NULL, [DIVISION] [nchar](150) NULL, [PART_NO] [nchar](40) NULL, [AFFILIATE_CODE] [nchar](4) NULL, [DESCRIPTION] [nchar](240) NULL, [SPECIFICATION] [nchar](240) NULL, [UOM] [nchar](3) NULL, [LOCAL_DESCRIPTION] [nchar](4000) NULL, [ITEM_TYPE] [nchar](30) NULL, [ITEM_DELIMITER] [datetime] NULL, [TRANSFER_FLAG] [nchar](100) NOT NULL, [TRANSFER_DATE] [datetime] NULL, [GLOBAL_UNIQUE_ID] [numeric](18, 0) NULL, [BAM_SEQUENCE_ID] [datetime] NULL, [OLD_GLOBAL_UNIQUE_ID] [numeric](18, 0) NULL, [CREATION_DATE] [nchar](150) NULL, [CREATED_BY] [nchar](150) NULL, [LAST_UPDATE_DATE] [nchar](150) NULL, [LAST_UPDATED_BY] [nchar](150) NULL, [ATTRIBUTE1] [nchar](150) NULL, [ATTRIBUTE2] [nchar](150) NULL, [ATTRIBUTE3] [nchar](150) NULL, [ATTRIBUTE4] [nchar](150) NULL, [ATTRIBUTE5] [nchar](150) NULL, [ATTRIBUTE6] [nchar](150) NULL, [ATTRIBUTE7] [nchar](150) NULL, [ATTRIBUTE8] [nchar](150) NULL, [ATTRIBUTE9] [nchar](150) NULL, [ATTRIBUTE10] [nchar](150) NULL, [ATTRIBUTE11] [nchar](150) NULL, [ATTRIBUTE12] [nchar](150) NULL, [ATTRIBUTE13] [nchar](150) NULL, [ATTRIBUTE14] [nchar](150) NULL, [ATTRIBUTE15] [nchar](150) NULL ) ON [PRIMARY] Так он выдает ошибку в (12) А если убрать последную колонку, он без проблем создает. Куда надо копат? Есть где-нить настройки, чтоб эту ошибку загасит? |
|||
|
16
vde69
11.12.08
✎
11:47
|
в (12) у тебя таблица 'ODS_XXARF_CUSTOMER_IF' а пример ты вывел для 'IC_PMS_GCM_ITEM_INF'
ты-бы поконретнее |
|||
|
17
мистер игрек
11.12.08
✎
11:48
|
(16) У IC_PMS_GCM_ITEM_INF тоже такая фигня
|
|||
|
18
мистер игрек
11.12.08
✎
11:49
|
(16) Creation of table 'IC_PMS_GCM_ITEM_INF' failed because the row size would be 15387, including internal overhead. This exceeds the maximum allowable table row size, 8060.
|
|||
|
19
мистер игрек
11.12.08
✎
11:52
|
Может этот файл создан в СКЛ-2005? И там нету этих ограничений. Возможно такое?
|
|||
|
20
vde69
11.12.08
✎
11:56
|
думаю тебе сюда:
http://sql.ru/forum/actualtopics.aspx?bid=1 а вообще у меня есть сомнение, что это MS-SQL и вообще к 1с это точно не относиться |
|||
|
21
мистер игрек
11.12.08
✎
12:20
|
Я понял откуда ошибка. В СКЛ-2000 для каждой таблицы размер байта колонок не должно превышать 8060 байтов. В тех таблицах, где эта ошибка, она превышет. Получается в 2000-м нету возможности снять это ограничение?
|
|||
|
22
rs_trade
11.12.08
✎
12:53
|
(21) обратись в мелкософт с таким вопросом...
|
|||
|
23
мистер игрек
11.12.08
✎
12:56
|
(22) Это все равно, что плевок в вечность :)
|
|||
|
24
Живой Ископаемый
11.12.08
✎
12:59
|
а попробуй замени [nchar](150) на varchar
|
|||
|
25
Живой Ископаемый
11.12.08
✎
13:00
|
и [nchar](4000) тоже на varchar
|
|||
|
26
rs_trade
11.12.08
✎
13:01
|
или раздели на две таблицы
|
|||
|
27
мистер игрек
11.12.08
✎
13:01
|
(24) Я с удовольствием сделал бы, но этот файл спустили сверху. Придется молится, чтоб они (те самые) образумели и исправили свои глюки :))
|
|||
|
28
rs_trade
11.12.08
✎
13:02
|
например все ATTRIBUTE14 вынеси в другую таблицу
|
|||
|
29
Живой Ископаемый
11.12.08
✎
13:03
|
(27) Но ты попробуй... если создастся таблица, ты по-крайней мере будешь знать о чем разговаривать с теми, кто сверху... и +(26) тоже попробуй...
|
|||
|
30
мистер игрек
11.12.08
✎
13:09
|
(29) К сожалению не смогу. Потому что, мы филиал международной корпорации, и всем филиалам разослалы этот скрипт, т.е. эта структура таблиц стандарт-де-факто. Придется наверно купить СКЛ-2005. Надеюсь там этих ограничений нету.
|
|||
|
31
rs_trade
11.12.08
✎
13:14
|
Msg 1701, Level 16, State 1, Line 1
Creating or altering table 'IC_PMS_GCM_ITEM_INF' failed because the minimum row size would be 15373, including 11 bytes of internal overhead. This exceeds the maximum allowable table row size of 8060 bytes. 2005 говорит, у них может оракл вообще? |
|||
|
32
ДенисЧ
11.12.08
✎
13:18
|
(30) Снимаем трубку телефона, звоним в головной отдел и задаём вопрос "Парни, что за х? Что у вас за система такая?"
|
|||
|
33
Живой Ископаемый
11.12.08
✎
13:34
|
вот так работает:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[IC_PMS_GCM_ITEM_INF1]( [ORGANIZATION_CODE] [nchar](3) NOT NULL, [DIVISION] [nchar](150) NULL, [PART_NO] [nchar](40) NULL, [AFFILIATE_CODE] [nchar](4) NULL, [DESCRIPTION] [nchar](240) NULL, [SPECIFICATION] [nchar](240) NULL, [UOM] [nchar](3) NULL, [LOCAL_DESCRIPTION] [varchar](4000) NULL, -- Вот здесь Varchar только, врядли будет индекс по текстовому полю в 4000 символов [ITEM_TYPE] [nchar](30) NULL, [ITEM_DELIMITER] [datetime] NULL, [TRANSFER_FLAG] [nchar](100) NOT NULL, [TRANSFER_DATE] [datetime] NULL, [GLOBAL_UNIQUE_ID] [numeric](18, 0) NULL, [BAM_SEQUENCE_ID] [datetime] NULL, [OLD_GLOBAL_UNIQUE_ID] [numeric](18, 0) NULL, [CREATION_DATE] [nchar](150) NULL, [CREATED_BY] [nchar](150) NULL, [LAST_UPDATE_DATE] [nchar](150) NULL, [LAST_UPDATED_BY] [nchar](150) NULL, [ATTRIBUTE1] [nchar](150) NULL, [ATTRIBUTE2] [nchar](150) NULL, [ATTRIBUTE3] [nchar](150) NULL, [ATTRIBUTE4] [nchar](150) NULL, [ATTRIBUTE5] [nchar](150) NULL, [ATTRIBUTE6] [nchar](150) NULL, [ATTRIBUTE7] [nchar](150) NULL, [ATTRIBUTE8] [nchar](150) NULL, [ATTRIBUTE9] [nchar](150) NULL, [ATTRIBUTE10] [nchar](150) NULL, [ATTRIBUTE11] [nchar](150) NULL, [ATTRIBUTE12] [nchar](150) NULL, [ATTRIBUTE13] [nchar](150) NULL, [ATTRIBUTE14] [nchar](150) NULL, [ATTRIBUTE15] [nchar](150) NULL ) ON [PRIMARY] |
|||
|
34
мистер игрек
11.12.08
✎
13:37
|
(33) Эту таблицу исправил, но в остальных таблицах муть полная. Там полей "ATTRIBUTE15n" штук 30 по 300 символов с энварчар
|
|||
|
35
мистер игрек
11.12.08
✎
13:38
|
(34) энварчар = nchar
|
|||
|
36
Mikeware
11.12.08
✎
13:38
|
и в "филиале международной корпорации" держат дятлов? грустно... Хотя, кризис...
|
|||
|
37
rs_trade
11.12.08
✎
13:39
|
(34) а вы как с ними инфой обмениваетесь?
|
|||
|
38
Господин ПЖ
11.12.08
✎
13:41
|
структуры дебильные...
[ATTRIBUTE1] ........... [ATTRIBUTE15] про запас? |
|||
|
39
мистер игрек
11.12.08
✎
13:47
|
(36) Это так теяб затронуло? или геморой мучает?
|
|||
|
40
мистер игрек
11.12.08
✎
13:50
|
(37) В смысле?
(38) Хрен знает. Он так решили, это меня вобще не касается |
|||
|
41
Живой Ископаемый
11.12.08
✎
13:52
|
(35) Та короче, смело меняй в них на varchar... не могу поверить чтобы по таким дебильным атрибутам шла индексация... Кстати, можно сразу глянуть - в скрипте - для каких полей строятся индексы...
Ну и +(37) - если обмениваетесь через внешние файлы, а не репликацией - то по-моему смело можно менять... |
|||
|
42
rs_trade
11.12.08
✎
13:56
|
(41) угу, и менять и делить, DTS настроить тока и все путем будет...
|
|||
|
43
мистер игрек
11.12.08
✎
13:58
|
(41) Ладно, придется с ним провести беседу по душам. :) Я тоже про этот вариант подумал.
Всем спасибо, кроме (36) неудачника |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |