ورود

View Full Version : سوال در مورد نحوه شناسائي Sql Server



سیروس مقصودی
یک شنبه 16 مرداد 1390, 18:41 عصر
با سلام

من با Sql Server 2000 كار ميكنم در برنامه ام براي اينكه شناسائي كنم كه آيا Sql Server نصب شده است از دستور زير استفاده ميكنم

if (Reg.OpenKey('HKEY_LOCAL_MACHINE\SOFTWARE\Microsof t\Microsoft SQL Server',false) = true) or
(reg.KeyExists('HKEY_LOCAL_MACHINE\SOFTWARE\Micros oft\Microsoft SQL Server')=true) then

اين دستور در كامپيوتر خودم جواب ميدهد ولي وقتي برنامه ام را در كامپيوتر ديگري اجرا ميكنم جواب نميدهد لازم به ذكر است كه در كامپيوتر دومي Sql Server نصب شده و در Registry آن كامپيوتر مسير مورد نظر وجود دارد . لطفا مرا راهنمائي نمائيد چون خيلي ضروري ميباشد .

با تشكر فراوان .

Felony
یک شنبه 16 مرداد 1390, 19:20 عصر
احتمالا دسترسی لازم رو به کلید مورد نظر ندارید ، به صورت زیر در هنگام ساخت نمونه از کلاس TRegistry درخواست دسترسیALL Access کنید :

Reg:= TRegistry.Create(KEY_ALL_ACCESS);

سیروس مقصودی
سه شنبه 18 مرداد 1390, 08:28 صبح
متاسفانه جواب نداد . راه حلي ديگري وجود دارد ؟

Felony
سه شنبه 18 مرداد 1390, 08:39 صبح
رو برنامه کلیک راست کنید و Run as admin رو بزندید ، اگر برنامه درست کار کرد پس مشکل از دسترسیتون هست و باید به کاربر بگید برنامه رو به صورت Admin اجرا کنه یا با استفاده از manifest برنامه رو مجاب به اجرا به صورت Admin کنید ؛ در غیر این صورت مشکل از آدرس کلیدی که دادید یا کدی که نوشتید هست .

در ضمن برای بررسی وجو یک کلید از متد KeyExists کلاس TRegistry استفاده کنید .