PDA

View Full Version : دریافت آدرس کانکشن در textbox



شهابسلطانی
یک شنبه 29 آذر 1394, 18:15 عصر
سلام
دوستان من میخوام آدرس سرورم رو به محض load شدن یک فرم توی یک textbox دریافت کنم

یعنی مثلا به محض لود شدن فرم ، توی تکست باکسم این آدرس درج بشه
"server=.\\;database=DBName;integrated Security=true"
ممنون

abdullah20
یک شنبه 29 آذر 1394, 18:29 عصر
خب یعنی چی؟
از کجا داخل txt قرار بگیره؟

ebrahim.rayatparvar
یک شنبه 29 آذر 1394, 18:57 عصر
یعنی کاربری که میاد برنامه تو رو نصب میکنه بیاد چنین آدرس بانکی بده؟؟؟؟
عموما فقط یک آدرس سرور یا نام سرور میگیرن و تو جای مورد نظر خودش میزارن تا کتنکشن استرینگ کامل بشه نه اینکه کل کانکشن استرینگ رو وارد کنی.


تو فرم لاگینت هم میتونی یه دکمه بزاری مبنی بر تنظیمات سرور و زمانی که زد یا فرمش باز بشه یا اینکه به صورت تب بندی کار کنی و تب مورد نظر رو نمایش بدی.

شهابسلطانی
یک شنبه 29 آذر 1394, 20:05 عصر
یعنی کاربری که میاد برنامه تو رو نصب میکنه بیاد چنین آدرس بانکی بده؟؟؟؟
عموما فقط یک آدرس سرور یا نام سرور میگیرن و تو جای مورد نظر خودش میزارن تا کتنکشن استرینگ کامل بشه نه اینکه کل کانکشن استرینگ رو وارد کنی.


تو فرم لاگینت هم میتونی یه دکمه بزاری مبنی بر تنظیمات سرور و زمانی که زد یا فرمش باز بشه یا اینکه به صورت تب بندی کار کنی و تب مورد نظر رو نمایش بدی.

ممنون از اینکه توجه میکنید
منطورم اینه که من این آدرس رو برای کانکشنم توی فرم می نویسم
"server=.\\sqlexperess;database=DBName;integrated Security=true
حالا میخوام اسم sqlserver (که sqlexperess هست)توی یه textbox خونده بشه و من آدرس رو اینجوری بنویسم
server=.\\textbox1.text;database=DBName;integrated Security=true


کلا مشکلم اینه که من توی تموم فرمهام آدرس کانکشنی که نوشتم فقط روی سیستم خودم کانکت میشه بخاطر این که اسم sqlserver من sqlexpress هست
ولی رو یه سیستم دیگه که نصبش میکنم اسم sqlserver مثلا mdadmin هست و وقتی داره آدرس رو چک میکنه که اتصال برقرار بشه ایراد میگیره
ولی حالا اگر بتونم زمان load شدن فرم اسم sqlserver رو از یه textbox بخونم مشکل میشه
بازم ممنون

abdullah20
یک شنبه 29 آذر 1394, 20:09 عصر
خب دوست عزیز مگه خودتون ستاپ تهیه نمیکنید برای پروژتون؟
دیگه هر چی اونجا میزنید داخل کانکشن هم بنویسید دیگه

شهابسلطانی
یک شنبه 29 آذر 1394, 21:17 عصر
خب دوست عزیز مگه خودتون ستاپ تهیه نمیکنید برای پروژتون؟
دیگه هر چی اونجا میزنید داخل کانکشن هم بنویسید دیگه

ممنون از راهنمایی و جوابتون
ولی حالا اگر بخوام نام سرور در یک text بیاد چه کدی باید بنویسم
(جهت اطلاع خودمه)

abdullah20
یک شنبه 29 آذر 1394, 21:43 عصر
نام سرور یا instance

شهابسلطانی
یک شنبه 29 آذر 1394, 22:12 عصر
نام سرور یا instance

برای هردوش جدا جدا رو لطفا بفرمایید
ممنون

abdullah20
دوشنبه 30 آذر 1394, 08:33 صبح
برای نام سرور میتونید از کد زیر استفاده کنید:

MessageBox.Show(Environment.MachineName);
برای instance ها هم میتونید از smo استفاده کنید و همینطور از مسیر زیر در رجیستری:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL

شهابسلطانی
دوشنبه 30 آذر 1394, 13:51 عصر
برای نام سرور میتونید از کد زیر استفاده کنید:

MessageBox.Show(Environment.MachineName);
برای instance ها هم میتونید از smo استفاده کنید و همینطور از مسیر زیر در رجیستری:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL
lممنون از جواب کامل و بی دریغتون
فعلا در مورد instance اصلا متوجه نشدم
لطفا بیشتر توضیح بدید
ممنون

abdullah20
دوشنبه 30 آذر 1394, 15:20 عصر
داخل اون مسیر نام های instance ها وجود دارند میتونید برید ببینید
فقط کافیه لیست کنید

شهابسلطانی
دوشنبه 30 آذر 1394, 17:02 عصر
داخل اون مسیر نام های instance ها وجود دارند میتونید برید ببینید
فقط کافیه لیست کنید
آقا ممنون
لیست کردن منظورت چیه ؟
میشه یه نمونه بنویسی لطفا
شرمنده داداش گلم

شهابسلطانی
دوشنبه 30 آذر 1394, 17:52 عصر
این کد روی توی SQL میزنم نام INSTANCE رو بهم میده
ولی چطوری توی c# اینکار رو بکنم؟

Select

SERVERPROPERTY
('InstanceName')

abdullah20
دوشنبه 30 آذر 1394, 17:53 عصر
بفرمایید:

RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL");
string[] regList = reg.GetValueNames();
foreach (string name in regList)
listBox1.Items.Add(name);

شهابسلطانی
سه شنبه 01 دی 1394, 17:23 عصر
بفرمایید:

RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL");
string[] regList = reg.GetValueNames();
foreach (string name in regList)
listBox1.Items.Add(name);
دوستان سلام
خداوکیلی دیونه شدم لطفا راهنمایی کنید
این کد رو مینویسم ولی ارور میده
اگر میشه یه نمونه سورس برام بذارید ممنون

abdullah20
سه شنبه 01 دی 1394, 17:37 عصر
میشه بگید چه اروری میده؟

شهابسلطانی
سه شنبه 01 دی 1394, 18:18 عصر
Object reference not set to an instance of an object.
اینم تصویرش
137599

abdullah20
سه شنبه 01 دی 1394, 18:49 عصر
شما برید به مسیر در رجیستری یه نگاهی بندازید

شهابسلطانی
سه شنبه 01 دی 1394, 18:57 عصر
این مسیر منه
درسته مشکلی نداره
computer\HKEY_LOCAL_MAchine\SOFTWARE\Microsoft\Mic rosoft SQL Server\InstanceNames\SQL

abdullah20
سه شنبه 01 دی 1394, 18:59 عصر
اره شما برید ببینید اصلا نامی اونجا هست

شهابسلطانی
سه شنبه 01 دی 1394, 22:31 عصر
اره شما برید ببینید اصلا نامی اونجا هست
داداش سلام
حق با شماست داخل پوشه sql هیچ نامی نیست
ولی رمانی که کانکت میشم به sql اسم داره(SQLEXPRESS)
نمیدونم چی شده
دیونم کرده
پروژه ام تقریبا تمومه ولی نمیدونم چطوری روی یه سیستم دیگه نصبش کنم
همش ایراد کانکشن می گیره
یعنی این همه زحمت کشیدم و نوشتمش داره به باد میره
لطفا کمکم کنید
ممنون

abdullah20
چهارشنبه 02 دی 1394, 09:40 صبح
ورژن sql شما چند است؟

شهابسلطانی
سه شنبه 08 دی 1394, 12:19 عصر
RegistryKey SUBKEY;










RegistryKey shahab = RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.Regi stryHive.LocalMachine, "");


string subkey = "SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL";

SUBKEY = shahab.OpenSubKey(subkey);




سلام
من این کد رو نوشتم
حالا چجوری میتونم نام دریافتی (instance) رد توی یه textbox نشون بدم؟





return 0;

شهابسلطانی
سه شنبه 08 دی 1394, 12:20 عصر
ورژن sql شما چند است؟

sqlservser 2008R2

شهابسلطانی
سه شنبه 08 دی 1394, 12:56 عصر
ممنون میشم
اگر یه سورس کوچولو برام بذارید
که کانکشن رو توی یه تکست باکس یا لیست باکس یا ....
لود کنه
ممنون