Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Вниз

Как узнать версию MS Access   Найти похожие ветки 

 
Галинка ©   (2004-09-20 16:08) [0]

Вот собственно в чем вопрос... А надо это для корректного описания строки коннекта, т.к. для разных версий Акцеса будут разные значения поля Data Sourse.
Заранее спасибо всем кто ответит...


 
Роман Снегирев   (2004-09-20 18:06) [1]

а на хрена тебе версия, ADO (OLE DB точнее) за тебя сами все решат, а строка коннекта ИМХО едина не зависимо от версий


 
sniknik ©   (2004-09-20 18:19) [2]

межет закладывается на jet 3.5 еще?


 
Галинка ©   (2004-09-22 08:56) [3]

Во-первых, версия мне нужна потому, что для 97 Акцеса будет Data Source = MS Access 97 Databases, а для 2000 - = Базы данных MS Access... Вот в чем разница (мне надо программно соединятся с базой, посредством OpenDialog).
Во-вторых, работаю я через ODBC, т.к. ничего другое  уменя не пашет. К тому же удовнее, т.к. это внутривиндавозовская примочка, и работает на любой машине, а все остальное надо дополнительно устанавливать и настраивать (что пользователь сделать не сможет, а я не смогу обеспечить сопровождение физически).
Так как все-таки узнать версию Акцеса... ???


 
sniknik ©   (2004-09-22 11:03) [4]

> то для 97 Акцеса будет Data Source = MS Access 97 Databases, а для 2000 - = Базы данных MS Access
ну если думаеш все так четко, то почему не считать имена алиасов и не сравнить? только это чревато глюками, это не показатель, у меня например все мне ненужные DSN-ы ODBC удалены (и этот в том числе) но это не значит что у меня офиса неустановлено с аксесом.  

> Во-вторых, работаю я через ODBC, т.к. ничего другое  уменя не пашет.
ну и зря в общемто, разобралась бы лучше почему неработает.

> К тому же удовнее, т.к. это внутривиндавозовская примочка, и работает на любой машине,
> а все остальное надо дополнительно устанавливать и настраивать (что пользователь сделать не сможет, а я не смогу обеспечить
> сопровождение физически).
ошибаешся и еще раз ошибаешся! нет никаких гарантий на предустановку чего либо. если хочеш чтобы весьде работало включай нужное в инсталятор.

> Так как все-таки узнать версию Акцеса... ???
а если его нет? то и работать не будеш? лентяйка.

------------------------
во первых можно DSN "нарисовать" любой. в том числе и програмно.
во вторых он не нужен, даже если у тебя "любовь" к ODBC и хочется обязательно через него
строка конекта без DSN будет
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\Base.Mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"

и без посредника (ODBC в этом случае посредник)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Base.Mdb;Mode=Share Deny None;Persist Security Info=False

но вообще судя по всему, у тебя используется BDE (так ощущение такое ;о)) тогда это не поможет. и тогда дополнительный вопрос - BDE за собой таскать не собираешся? он тоже установлен и в настройке не нуждается7 ;о))


 
Галинка ©   (2004-09-23 12:20) [5]

У меня используется АДО. Jet"а у меня нет, точнее в нем Аксес не пашет (проверяла по HKEY_LOCAL_MACHINE, так в одной книге нашла совет), выдает ошибку "Не найден устанавливаемый ISAM". А в ОДБС все работает, я так и поняла, что для виндовоза это роднее... А как делать DSN?


 
Роман Снегирев   (2004-09-23 12:24) [6]

что роднее?!!! одибиси что ли?!!! так например в win95 ты вряд ли найдешь одибиси-драйверок для access 20000. А ADO все равно придется ставить. Почитай че нибудь про движки доступа к БД


 
sniknik ©   (2004-09-23 12:42) [7]

> У меня используется АДО. Jet"а у меня нет, точнее в нем Аксес не пашет
позвольте с вами не согласится, jet у вас есть, раз уж есть access. и работает он именно через него.
если конечно у вас не 95я винда и такого же года мсофис.
более того поздние версии jet-а переписывают ODBC драйвера "на себя" (а поставьте себя на место мелкосовтских программистов, odbc поддерживать нужно и новый прдукт тянуть тоже, что проще в 2х местах править или в одном редирект сделать? ;)

> (проверяла по HKEY_LOCAL_MACHINE, так в одной книге нашла совет), выдает ошибку "Не найден устанавливаемый ISAM".
исам это часть jet-а для поддержки разных форматов таблиц, и такую ошибку именно сам jet выдает когда не находит описание запрашиваемого в подключении формата. (что дает предположение в том ч то у вас строка с "брачком" а не jet отсутствует)
хотя отсутствие вполне возможно если планируется на разные машины ставить.

можеш сделать тест попроще, нажать в ADOConnectoin на кнопке в свойстве ConnectionString и посмотреть там, есть провайдер (вкладка provider) "Microsoft Jet 4.0/[3.5] OLEDB Provider"? есть? значит он есть! существует! урааааа! ;о)

> А как делать DSN?
есть пример только для MySql, можеш аналогично (а можеш нажать кнопку на create в odbc administrator-е ;о))
fReg:= TRegistry.Create;
fReg.OpenKey("\Software\ODBC\ODBC.INI\DocumentsFab", True);
fReg.WriteString("Database", "Documents");
fReg.WriteString("Description", " ");
fReg.WriteString("Driver", "C:\WINNT\System32\myodbc.dll");
fReg.WriteString("Flag", "1");
fReg.WriteString("Password", "");
fReg.WriteString("Port", " ");
fReg.WriteString("Server", "xmark");
fReg.WriteString("User", "winuser");
fReg.OpenKey("\Software\ODBC\ODBC.INI\ODBC Data Sources", True);
fReg.WriteString("DocumentsFab", "MySQL");
fReg.CloseKey;
fReg.Free;


 
Галинка ©   (2004-09-23 13:51) [8]

У меня в книге написано, что в регистре надо смотреть с чем работает Джет а с чем нет...
Винды у меня в основном 98 и ХР, поэтому и надо все это узнавать.
Sniknik сам писал исам это часть jet-а для поддержки разных форматов таблиц, и такую ошибку именно сам jet выдает когда не находит описание запрашиваемого в подключении формата. , значит у меня джет Акцес не поддерживает. Там dBase, Excel, Lotus, Paradox, HTML, а Акцеса нет...((( И что прикажите делать...


 
sniknik ©   (2004-09-23 14:04) [9]

> значит у меня джет Акцес не поддерживает.
;о))))))
jet это и есть access, это ядро, ему исам не нужен, нужен только тогда когда access база/ядро "вяжется" с нестандартной базой.

> И что прикажите делать...
не указывать там где ты пишеш access ничего вообще.

было бы проще если бы вместо своих(неправильных) выводов, показала бы как ты делаеш то на чем эти выводы основываются.

но..., точно говорят, морская свинка она не свинка и не морская ... ;о))


 
имя   (2004-09-23 16:01) [10]

Удалено модератором


 
Silla   (2004-10-08 20:25) [11]

procedure TFrmBase.ExistsDatabaseSystems;
var
 PathToBase, DataBaseName: String;
begin
 PathToBase := ExtractFilePath(Application.ExeName)+"Dat";
 DataBaseName := "sp.mdb";
// проверка наличия пути для базы данных, если нет, то создаем
 if not DirectoryExists(PathToBase) then
   if not CreateDir(PathToBase) then
   raise Exception.Create("Не могу создать " + PathToBase);
// проверка наличия базы данных, если нет, то создаем
 if not FileExists(PathToBase+"\"+DataBaseName) then
   CreateMSAccessDB(PathToBase, DataBaseName);
// присоединение к базе данных
 ADOConnection.Connected := False;
 ADOConnection.ConnectionString := "Provider=MSDASQL.1;Persist Secur"+
   "ity Info=False;Extended Properties="DRIVER={Microsoft Access Dri"+
   "ver (*.mdb)};DBQ="+PathToBase+"\"+DataBaseName+";DefaultDir="+
   PathToBase+";DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTim"+
   "eout=5;UID=admin;"";
 ADOConnection.Mode := cmShareDenyNone;
 ADOConnection.DefaultDatabase := PathToBase+"\"+DataBaseName;
 ADOConnection.Connected := True;
 //ExistsTableSystems(PathToBase, DataBaseName, ADOConnection);
end;


 
Silla   (2004-10-08 20:39) [12]

Наверное узнать проще через реестр
в данной ветке есть папочка "CurVer"
по последней циферке можно узнать версию

function IsAccessInstalled: Boolean;
var
 Reg: TRegistry;
 s: string;
begin
 Reg := TRegistry.Create;
 try
   Reg.RootKey := HKEY_CLASSES_ROOT;
   Result := Reg.KeyExists("Access.Application");
 finally
   Free;
 end;
end;



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.039 c
1-1098439005
aleshap
2004-10-22 13:56
2004.11.07
OnActivate и OnEnter


3-1097233419
NewDelpher
2004-10-08 15:03
2004.11.07
select в функции не получается


1-1098793672
dim_
2004-10-26 16:27
2004.11.07
Paint


6-1094019695
Дмитрий Ботвин
2004-09-01 10:21
2004.11.07
Загрузка файла с FTP


1-1098364730
Mishenka
2004-10-21 17:18
2004.11.07
TTreeNode...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский