ورود

View Full Version : مشكل ارتباط با SQL سرور



abbas8786
سه شنبه 23 مهر 1387, 09:47 صبح
با سلام
من يك برنامه نوشتم كه از sql استفاده مي كنه. مشكل من اينجاست كه الان اين برنامه در مكان ديگري كه سرور sql دارد كار نمي كند چون در رشته ارتباطي نام سرور آن فرق مي كند . نام سرور را رد متغير گذاشتم و در رشته ارتباطي نام متغير را گذاشتم جواب نداد. روش استفاده از نام سرور در يك متغير براي ارتباط با sql را توضيح دهيد. رشته من يه شكل زير است:
strCnn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=databasename;Data Source=servername

من مي خواهم در قسمت Datasource يك متغير بنويسم كه نام سرور است و هر جايي كه برنامه اجرا شود ابتدا نام سرور را بپرسد و ارتباط برقرار شود.
اگر روش من اشتباه است لطفاً روش صحيح را توضيح دهيد كه چگونه يك برنامه مي تواند بدون وابستگي به نام سرور در هرجا اجرا شود(نام سرور در يك متغير يا يك Textbox)

hamed aj
سه شنبه 23 مهر 1387, 18:58 عصر
با سلام

دوست عزیز؛

از Connection string زیر استفاده کن حتماً به جواب خواهی رسید. اگر مشکی بود بپرس :







strConnectionStrin = "Provider=SQLOLEDB.1" _
& ";Data Source=" & Trim$(Form1.txtServerName.Text) _
& ";Persist Security Info=True" _
& ";User Id=" & Trim$(Form1.txtUser.Text) _
& ";Password=" & Trim$(Form1.txtPass.Text) _
& ";Initial Catalog=" & Trim$(Form1.txtDbName.Text) _
& ";Use Procedure for Prepare=1;Auto Translate=True" _
& ";Packet Size=4096;Use Encryption for Data=False" _
& ";Tag with column collation when possible=False"





موفق باشید

hamed aj
سه شنبه 23 مهر 1387, 19:12 عصر
با سلام

دوست عزیز؛

از Connection string زیر استفاده کن حتماً به جواب خواهی رسید. اگر مشکی بود بپرس :







strConnectionStrin = "Provider=SQLOLEDB.1" _
& ";Data Source=" & Trim$(Form1.txtServerName.Text) _
& ";Persist Security Info=True" _
& ";User Id=" & Trim$(Form1.txtUser.Text) _
& ";Password=" & Trim$(Form1.txtPass.Text) _
& ";Initial Catalog=" & Trim$(Form1.txtDbName.Text) _
& ";Use Procedure for Prepare=1;Auto Translate=True" _
& ";Packet Size=4096;Use Encryption for Data=False" _
& ";Tag with column collation when possible=False"





موفق باشید

Danial_Yousefi
سه شنبه 23 مهر 1387, 23:59 عصر
strCnn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=databasename;Data Source=" & text1.text

abbas8786
دوشنبه 29 مهر 1387, 08:58 صبح
سلام
درست بود جواب گرفتم. ولي يه چيز ديگري به ذهنم رسيد:

الان كاربر بايد نام سرور و ناك ديتا بيس را وارد نمايد. ولي ميشه يه كاري كرد كه بعد از اتصال به سرور نام ديتابيس ها در يك كمبو باكس نشان داده شود و پس از انتخاب نام ديتا بيس در يك كمبو باكس ديگر نام جداول آن ديتا بيس نشان داده شود.

مي دوني دستور نمايش و يا ليست كردن ديتا بيس ها و جداول چيست.؟
و بهتر ميشه اگر سرورهاي SQL را هم ليست كرد و كاربر آن را انتخاب كنه (مثل ديتا بيس و جدول).
اگر مي دونستي ، اينجا بنويس تا استفاده كنيم.
اميد وارم منظورم را فهميده باشي.

منتظر هستم.
با تشكر

abbas8786
دوشنبه 06 آبان 1387, 08:32 صبح
سلام
كسي دستور ليست كردن ديتا بيس ها و يا حتي سرور ها را بلد نيست؟

منتظرم.

mhsoleimani
دوشنبه 06 آبان 1387, 08:39 صبح
فلش بک به بالا اینکه می تونی به جای اسم سرور اگر سرورت روی لوکال نصب شده از کلمه (local) استفاده کنی . حالا سرور هر اسمی می خواد داشته باشه مهم نیست .

abbas8786
دوشنبه 06 آبان 1387, 12:16 عصر
فلش بک به بالا اینکه می تونی به جای اسم سرور اگر سرورت روی لوکال نصب شده از کلمه (local) استفاده کنی . حالا سرور هر اسمی می خواد داشته باشه مهم نیست .

اين براي وقتي است كه برنامه روي همان سرور اجرا شود. .لي برنامه من قرار است روي شبكه اجرا شود ولازم است نام سرور مشخص شود.

hamed aj
دوشنبه 06 آبان 1387, 15:20 عصر
با سلام

دوست عزیز من اینکار رو قبلاً با توابع SQL DMO انجام داده بودم. میگردم اگر پیداش کردم اینجا میگذارم

senator_aka
پنج شنبه 28 آذر 1387, 21:04 عصر
بچه ها لطفا برنامه نمونه بزارید
من شدیدا به این برنامه احتیاج دارم

HAMRAHSOFT.IR
جمعه 29 آذر 1387, 13:56 عصر
نمونه برنامه تحت اسکیول در این تایپک (http://barnamenevis.org/forum/showthread.php?t=132932) هست ولی هنوز یکسری مشکلات دار