Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 поле bigint и Acceess  [new]
ShadowCat
Member

Откуда: Москва - Зеленоград
Сообщений: 386
Вопрос следующий: Естьтаблица в SQL, имеющая поле - bigint. В access нужно заполнять эту таблицу, и переность таблицу, в последствии в SQL. Вопрос: Есть, ли другой формат, кроме текстового, для этого поля в Access, чтобы можно было перенести спокойно в SQL.
Access стоит 2003.
16 май 05, 16:54    [1544850]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
Не проще ли от bigint избавится
че вы там такого считаете
кол-во суботомных взаимодействий на моль смеси за секунду?

PS На позапрошлой работе тоже bigint навтыкали куда попало
особенно порадовал ID в справочнике работника
c перспективой выхода на общегалактический рынок понимаешь
16 май 05, 17:34    [1545093]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ANTIVIR
Member

Откуда: МосквА
Сообщений: 1219
Latuk
....c перспективой выхода на общегалактический рынок понимаешь
Класс
16 май 05, 17:51    [1545175]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ShadowCat
Member

Откуда: Москва - Зеленоград
Сообщений: 386
Latuk
Не проще ли от bigint избавится

К сожалению, не проще, начальство хочет так. А с начльством бодаться нет сил.
16 май 05, 18:08    [1545238]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
Тогда подходит Currency или Decimal с одним знаком после запятой

Currency
(scaled integer) 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal
14 bytes +/-79,228,162,514,264,337,593,543,950,335 with no decimal point;
+/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is
+/-0.0000000000000000000000000001

PS не очень понятно " и переность таблицу, в последствии в SQL"
не проще ли сразу создавать ADP+локальный сервер
да и если использовать
Длинное целое
Long
(long integer) 4 bytes -2,147,483,648 to 2,147,483,647
с переносом в bigint проблем не возникнет
разве что вы действительно надеетесь в достичь в прототипу величин выходящих за этот диапазон
опять же так и не понятно что за предметная область такая что для описания bigint понадобился.
16 май 05, 19:09    [1545405]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ShadowCat
Member

Откуда: Москва - Зеленоград
Сообщений: 386
Latuk
Тогда подходит Currency или Decimal с одним знаком после запятой
Currency
(scaled integer) 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal
14 bytes +/-79,228,162,514,264,337,593,543,950,335 with no decimal point;
+/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is
+/-0.0000000000000000000000000001
[quot] Поэкспериментирую...

[quot Latuk]
PS не очень понятно " и переность таблицу, в последствии в SQL"
не проще ли сразу создавать ADP+локальный сервер

хм... а что такое ADP+ локальный сервер. И подойдет, если машины буду не в одной сети?
Latuk

опять же так и не понятно что за предметная область такая что для описания bigint понадобился.

Это число будет составным, а несколько полей заводить неудобно по нескольким внутренним причинам.
16 май 05, 20:32    [1545529]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ЛП
Guest
ShadowCat
Latuk
Не проще ли от bigint избавится

К сожалению, не проще, начальство хочет так. А с начльством бодаться нет сил.

Ну раз начальство такое умное - пусть оно и решает проблемы совместимости типов.

ShadowCat
Это число будет составным, а несколько полей заводить неудобно по нескольким внутренним причинам.

Сильные сомнения в том, что "начальство такое умное"
16 май 05, 20:36    [1545533]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
Предварительное ощущение бреда только усиливается
вообще даже для спец целей использование bigint весьма сомнительно
для этого есть binary
хотя синтенция "несколько полей заводить неудобно"
весьма странна и наводитна мысль, что родилась не у програмера БД,
а у какогото системщика которому видетели удобнее с битовыми полями извращатся "по внутренним причинам"

ADP - это такой формат файла Access - клиент для MSSQL
потому как нет смысла писать на MDB заранее зная что придется переносить на MSSQL
пишите сразу Access.ADP+MSSQL
16 май 05, 21:10    [1545589]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
vam911
Member

Откуда:
Сообщений: 670
а в байтах это сколько?
16 май 05, 21:15    [1545599]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ЛП
Guest
Latuk
Предварительное ощущение бреда только усиливается

Да ладно вам, батенька.
Это даже не бред.
"Составное число" - больше похоже на элементарное нарушение 1НФ.
И просто вопиет о необходимости жестокого изнасилования проектировщика этой БД.
Быть может я и ошибаюсь. Тогда изнасилование откладывается.
16 май 05, 21:37    [1545630]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
ЛП
Latuk
Предварительное ощущение бреда только усиливается

Да ладно вам, батенька.
Это даже не бред.
"Составное число" - больше похоже на элементарное нарушение 1НФ.
И просто вопиет о необходимости жестокого изнасилования проектировщика этой БД.
Быть может я и ошибаюсь. Тогда изнасилование откладывается.


У меня, правда, нормальные формы от зубов не отлетают
(наверно, по причине отсутствия зубов...)
Однако, по моему скромному мнению, это может оказаться вариацией на тему
вычислимого поля, которое во внешний мир представляется (и в действительности является) строкой.
При этом по нему еще и PK наверняка строится.
А хранить придумано числом в целях экономии.

ЗЫ
интересно, подлежит ли изнасилованию подорвавшийся на мине
(замедленного действия)?
16 май 05, 22:07    [1545663]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ShadowCat
Member

Откуда: Москва - Зеленоград
Сообщений: 386
Идея родилась у начальника, а мне реализовывать, а в БД я не очень пока, поэтому не все знаю. Буду использовать Binary. Спасибо всем. Не судите строго. :)
16 май 05, 22:09    [1545665]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
ShadowCat
Идея родилась у начальника, а мне реализовывать, а в БД я не очень пока, поэтому не все знаю. Буду использовать Binary. Спасибо всем. Не судите строго. :)

Если Вам действительно в конце концов потребуется именно целое число, то с
учетом "а в БД я не очень пока" я бы настоятельно не
советовал binary...
16 май 05, 22:15    [1545674]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ShadowCat
Member

Откуда: Москва - Зеленоград
Сообщений: 386
Victosha
Если Вам действительно в конце концов потребуется именно целое число, то с
учетом "а в БД я не очень пока" я бы настоятельно не
советовал binary...

А чтобы посоветовали?
16 май 05, 22:17    [1545676]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
Не зная, зачем Вам все это нужно, наверно, я бы повторил почти точно то,
что сказал Latuk в 19:09.
16 май 05, 22:22    [1545679]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
>А чтобы посоветовали?
Я бы посоветовал описать "некоторые внутринние причины"
и что за данные не хочется хранить в отдельных полях.
Тогда есть шанс получить более дельные советы
основанные не только на телепатии :)

например форму можно основать на представлении
а на представление повесить триггер инкапсулирующий "внутренние причины"
который будет упаковывать отдельные поля и избавит форму от общения с bigint
17 май 05, 07:46    [1545910]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ShadowCat
Member

Откуда: Москва - Зеленоград
Сообщений: 386
Latuk
>А чтобы посоветовали?
Я бы посоветовал описать "некоторые внутринние причины"
и что за данные не хочется хранить в отдельных полях.
Тогда есть шанс получить более дельные советы
основанные не только на телепатии :)

Задача следующая, программа будет стоять на множестве машин ( в теории) нужно знать, с какой машины были занесены данные и с какой программы (возможно будет несколько версий). Вот в это поле будет записываться уникальный номер среди всех машин, номер программы, и свой собственный номер в таблице....
17 май 05, 09:38    [1546097]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
Навскидку , я бы сделал так:

1)При запуске приложения (создании коннекта могущего вносить изменения) запустить ХП
с параметрами идентификации создателя конекта
(хотя большинство из них и так есть в таблице master.dbo.sysprocesses но мало ли чего вам еще захочется)

2) ХП работает с двумя таблицами
справочник комбинаций параметров ID int,P1 ,P2 .... Px (какого хочешь типа)
CREATE TABLE [dbo].[ConnectionOwner] (
--идентификатор приложения/компа/пользователя и пр. создавшего процесс
	[ID] [int] IDENTITY (-2147483648, 1) NOT NULL ,
--какие хочешь свойства для определения создателя название или id компа макадрес сетевухи и т.д.
	[P1] [int] NOT NULL ,
	[P2] [int] NOT NULL ,
	[P3] [smalldatetime] NOT NULL ,
	[PX] [varchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL 
) ON [PRIMARY]
GO
--уникальный индекс чтобы не было одинаковых параметров и искать побыстрей
ALTER TABLE [dbo].[ConnectionOwner] WITH NOCHECK ADD 
	CONSTRAINT [PK_ConnectionOwner] PRIMARY KEY  CLUSTERED 
	(
		[P1],
		[P2],
		[P3],
		[PX]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ConnectionOwner] ADD 
	CONSTRAINT [IX_ConnectionOwner] UNIQUE  NONCLUSTERED 
	(
		[ID]
	)  ON [PRIMARY] 
GO

таблица с идентификатором конекта и ссылкой на предидущий справочник
ConnectInfo
ID int,SPID smallint,login_time datetime

3)ХП проверяет есть ли в ConnectionOwner строка такой комбинацией параметров
если нет то создает ее

удаляет из таблицы ConnectInfo запись с текущим @@spid (на случай если он остался от предидущих сеансов)

добавляет в ConnectInfo запись с текущим @@spid , ConnectionOwner.ID и sysprocesses.login_time (для определения актуальности конекта)

4) при внесении изменений найти ID для текущего @@spid в таблице ConnectInfo
если его нет то запустить для этого конекта вышеописанную ХП
вставить в измененную запись (из триггера или еще как там собирались)
ID изменявшего
5)при необходимости расшифровки ID воспользоватся справочником ConnectionOwner

PS что-то подсказывает что для вашего великого проекта
достаточно сделать ConnectionOwner.ID smallint
17 май 05, 11:47    [1546722]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ShadowCat
Member

Откуда: Москва - Зеленоград
Сообщений: 386
2 Latuk: Буду разбираться. :)
Только вся проблема в том, что работа будет с Базами данных на Access, причем работать базы будут без доступа к главной машине, например, на ноутах в командировках. Поэтому АDP неподходит, так как ей нужен прямой коннект.И в Access вспомогательных таблиц не видно они только в SQl sysprocesses.
P.S. К сожалению знаю SQL только по запросам и минимум других функций. Не судите строго. :) и ногами не пинайте.
17 май 05, 12:13    [1546869]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
ЛП
Guest
2 Victosha
Однако, по моему скромному мнению, это может оказаться вариацией на тему
вычислимого поля, которое во внешний мир представляется (и в действительности является) строкой.
При этом по нему еще и PK наверняка строится.
А хранить придумано числом в целях экономии.

Гыыы...
Споры о первичном ключе

ЗЫ
интересно, подлежит ли изнасилованию подорвавшийся на мине
(замедленного действия)?

Тока до момента подрыва. Потом уже того... насиловать нечего будет.
17 май 05, 12:18    [1546892]     Ответить | Цитировать Сообщить модератору
 Re: поле bigint и Acceess  [new]
Latuk
Member

Откуда: N 54°38', E 037°35'
Сообщений: 7310
>Только вся проблема в том, что работа будет с Базами данных на Access
не вижу никакой проблеммы
весь сырбор с @@spid нужен для многопользовательского доступа
в вашем случае намечается репликация
процедуры которой давно формализованы и описанны в умных книжках (как для MSSQL так и для MDB)

В описанном подходе главная суть
таблица справочник параметров идентификации -> ID ссылка на справочник без всяких bigint и нарушений НФ
17 май 05, 13:09    [1547222]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить