Как да създадете програмно псевдоним в BDE
Добър ден на всички.
Има местни таблици, искам да ги достигна. Използвам TDatabase, всички ND са обвързани с него. В крайна сметка, за да свържете TDatabase (т.е. полето AliasName), трябва да отидете и да конфигурирате копчетата в BDE -> New DB Driver Name и т.н.
Има ли софтуерно решение на проблема?
Неправилно. По-скоро не е задължително.
Чакай, ще се разровя в стария проект, ще видя.
някъде вече видях отговора
за всеки случай, погледнете в FAQ-e:)
Използването на TDatabase изобщо не изисква съществуването на псевдоним.
Например, когато работите с базата данни Paradox, можете да посочите Database.Params.Values ["PATH"]: = път към базата данни;
Да, логично е ясно, че псевдоним не е необходим, но ако оставите полето ALiasName празно в TDatabase, то се кълне в „неизвестна база данни“. Как е да спечелите?
Като цяло, ето така:
Поставете компонента от тип TDatabase в екземпляра TDataModule.
Кликваме върху нея 2 пъти.
Посочваме нещо в база данни/име, например MySuperAlias.
Оставете полето База данни/псевдоним празно
База данни/поле DriverName напишете InterBase
Параметър Замяна на полето, например:
ИМЕ НА СЪРВЪРА = E: \ Working \ IBSales \ Data \ Example.tib
ИМЕ НА ПОТРЕБИТЕЛ = SYSDBA
ОТВОРЕН РЕЖИМ = ЧЕТЕНЕ/ПИСАНЕ
РАЗМЕР НА КЕШ НА СХЕМА = 8
LANGDRIVER = ancyrr
SQLQRYMODE =
РЕЖИМ SQLPASSTHRU = СПОДЕЛЕН АВТОКОММИТ
ВРЕМЕ НА КЕШ НА СХЕМА = -1
МАКСИМАЛНИ РЕДОВЕ = -1
БРОЙ НА ПАРТИДИТЕ = 200
АКТИВИРАНЕ НА СХЕМА КЕШ = НЕВЯРНО
SCHEMA CACHE DIR =
АКТИВИРАНЕ на BCD = FALSE
БЛОБОВЕ ЗА КЕШИРАНЕ = 64
РАЗМЕР НА КРЪСТ = 32
ПОЧАКАЙТЕ НА БРАЗОВЕ = НЕВЯРНО
ЗАДЪРЖАНЕ НА ЗАДЪРЖАНЕ = ФАЛША
РОЛЯ ИМЕ =
SQLDIALECT = 1
ПАРОЛА = masterkey
Оставете Options/LoginPrompt & Keep Inactive connection празно.
Всичко. Сега във вашите модули ние правим този TDataModule достъпен чрез Uses, а в TTable "s и TQuery" в свойствата на DataBaseName посочваме въведените преди това MySuperAlias.
Посочете в това поле нещо като My_Temp_Alias.
Приложението може да посочи свойствата на DatabaseName, DriverName и Params, вместо да задава AliasName
Всъщност го обърках. Пиша този My_Temp_Alias в DatabaseName. И моят AliasName остава празен.