PDA

View Full Version : سوال: مشکل لاگین ویندوز قبل از برقراری اتصال به بانک سیستم دیگری در شبکه



fa_karoon
شنبه 13 آذر 1389, 17:53 عصر
سلام من با استفاده از کد زیر می خواهم به بانک کامپیوتر دیگری در شبکه وصل شوم

Dim Conn As New SqlConnection("Password=pass; Persist Security Info=false;Data Source=IP;Integrated Security=false;Connect timeout=5;Initial Catalog=Test;User ID=sa")

Try

Dim Comm As New SqlCommand("Select * From test", Conn)
Dim myReader As SqlDataReader
Conn.Open()
myReader = Comm.ExecuteReader
Do While myReader.Read()

ResultLabel.Text += myReader(0).ToString

Loop
Catch ex As Exception
MsgBox(ex.Message)
Finally
Conn.Close()

End Try هنگامی که دکمه اتصال را می زنم تا اطلاعات جدول Test را از کامپیوتر مقصد بخوانم خطا می دهد که این باعث می شود مجبور شوم قبل از اجرای برنامه یکبار از طریق ویندوز به سیستم مقصد لاگین کنم (از طریق Run ای پی سیستم مقصد را وارد کنم و بعد نام کاربری و رمز عبور کامپیوتر مقصد را وارد کنم و متصل شوم) بعد از اینکه ارتباطی برقرار شد آن وقت اجازه می دهد برنامه ام اجرا شود
لطفا راهنمایی کنید چگونه می توانم این مشکل را برطرف کنم که دیگر نیاز به این عملیات لاگین قبل از اجرای برنامه نباشد البته نکته مهم در این است که این مشکل فقط برای SQL Server 2000 وجود دارد و 2008 این مشکل را ندارد

(توضیح: نمی دونستم این تاپیک را کجا ایجاد کنم چون سه مبحث شبکه و SQL و برنامه نویسی در اون دخیل بودند)

حمیدرضاصادقیان
یک شنبه 14 آذر 1389, 07:54 صبح
سلام.
شما میتونید با تنظیم ODBC در قسمت System DSN این مشکل رو حل کنید. در اون قسمت NEw رو بزنید و در لیست Sql server رو انتخاب کنید و در مراحل بعدی نوع ارتباط، (named pipe,Tcp/ip) رو مشخص کنید. بعد سطح دسترسی که windows authentication ّباشه یا Sql authentication . بعد هم میتونید به سرور وصل بشید. در انتها به شما باید پیغام test completed بده.اگر Test failed داد باید نوع ارتباطتون رو عوض کنید.

fa_karoon
یک شنبه 14 آذر 1389, 08:46 صبح
سلام.
شما میتونید با تنظیم ODBC در قسمت System DSN این مشکل رو حل کنید. در اون قسمت NEw رو بزنید و در لیست Sql server رو انتخاب کنید و در مراحل بعدی نوع ارتباط، (named pipe,Tcp/ip) رو مشخص کنید. بعد سطح دسترسی که windows authentication ّباشه یا Sql authentication . بعد هم میتونید به سرور وصل بشید. در انتها به شما باید پیغام test completed بده.اگر Test failed داد باید نوع ارتباطتون رو عوض کنید.


ممنون از پاسختون آیا بعد از این عملیات مقدار پارامتر Data Source در Connection String تغییر میکند ؟ آیا چیز خاصی باید بنویسیم؟
باز هم ممنون از راهنمایی تون

حمیدرضاصادقیان
یک شنبه 14 آذر 1389, 09:13 صبح
سلام.
نه نیاز به تغییر خاصی نیست. شما فقط یک بار اونو تنظیم کنید.
البته میتونید در قسمت file dsn یک فایل از تنظیمات بسازید و در برنامه به جای Connection string از اون فایل استفاده کنید.
یک فایل با پسوند udl میسازد.
لینکهای زیر هم نحوه استفاده از اونو توضیح دادن.
لینک 1 (http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/ef8250cf-9a90-464b-af66-cdc25bf9ac13)
لینک 2 (http://www.codemaker.co.uk/it/tips/ado_conn.htm)

fa_karoon
یک شنبه 14 آذر 1389, 10:58 صبح
نه نیاز به تغییر خاصی نیست. شما فقط یک بار اونو تنظیم کنید.

عذر می خوام من تنظیم کردم اما جواب نگرفتم کانکشن هم اینگونه است:

Password=pashaprolog;Data Source=192.168.1.50,1433; Network Library=DBMSSOCN; Connect timeout=5;Initial Catalog=RollCall;User ID=sa
تصویر خطا را هم می گذارم لطفا کمک کنید خیلی حیاتی است (عذر می خوام اینقدر مزاحمتون می شم)

63108

حمیدرضاصادقیان
یک شنبه 14 آذر 1389, 11:12 صبح
الان این Connection string خود odbc هست؟
شما یک system dsn بسازید و سعی کنید به سرور وصل بشید ببینید صورت میگیره یا خیر.
جواب رو اعلام کنید.

fa_karoon
یک شنبه 14 آذر 1389, 11:40 صبح
Data Source Name: SQL2000
Data Source Description:
Server: (local)
Database: master
Language: (Default)
Translate Character Data: Yes
Log Long Running Queries: No
Log Driver Statistics: No
Use Integrated Security: No
Use Regional Settings: No
Prepared Statements Option: Drop temporary procedures on disconnect
Use Failover Server: No
Use ANSI Quoted Identifiers: Yes
Use ANSI Null, Paddings and Warnings: Yes
Data Encryption: No

این کدی ست که ODBC می دهد من باید چه چیزی از این را در کانکشنم قرار دهم؟

حمیدرضاصادقیان
یک شنبه 14 آذر 1389, 12:43 عصر
سلام.
شما connection string رو به صورت عادی بسازید.
اصلا دست به اون نزنید
فقط از همون نام سرور و نوع لاگینی که در اون استفاده میکنید در قسمت system Dsn odbc نیز همون تنظیمات رو وارد کنید.
مثلا اگر در Connection string نام سرور شما ali هست در odbc هم ali وارد کنید و اگر با sql authentication کار میکنید در odbc هم روی sql authentication تنظیم کنید.

fa_karoon
یک شنبه 14 آذر 1389, 13:19 عصر
سلام.
شما connection string رو به صورت عادی بسازید.
اصلا دست به اون نزنید
فقط از همون نام سرور و نوع لاگینی که در اون استفاده میکنید در قسمت system Dsn odbc نیز همون تنظیمات رو وارد کنید.
مثلا اگر در Connection string نام سرور شما ali هست در odbc هم ali وارد کنید و اگر با sql authentication کار میکنید در odbc هم روی sql authentication تنظیم کنید.

عذر می خوام این تنظیمات رو باید روی سیتسمی که می خواهم به آن وصل شوم انجام دهم؟ یا روی سیستمی که برنامه دارد اجرا می شود؟

حمیدرضاصادقیان
یک شنبه 14 آذر 1389, 13:45 عصر
سلام.
نه روی سیستمی که برنامه در حال اجراست و میخواد به سرور وصل بشه.

fa_karoon
دوشنبه 15 آذر 1389, 11:29 صبح
سلام من همچنان مشکل دارم ببخشید این سوال رو می پرسم آیا خودتون این کار رو برای SQL 2000 انجام داده اید ؟
من در تصویر زیر یعنی صفحه اول Name را یه اسم دلخواه می دهم و در قسمت سرور هم نام نمونه SQLی را که می خواهم به آن وصل شوم می دهم(با IP سیستمی که می خواهم به آن وصل شوم نیز امتحان کردم)
63166
پنجره ی بعد را نیز مانند تصویر پر می کنم و در LoginID کلمه SA و در پسورد هم رمز sa نمونه ای را که می خواهم به آن وصل شوم زدم
63167
تنظیمات شبکه را نیز مانند تصویر زیر پر کردم
63168
اما هنگام Next کردن خطا می دهد

tooraj_azizi_1035
دوشنبه 15 آذر 1389, 11:49 صبح
سلام،
دوست عزیز آیا این لینک می تونه مشکلت رو حل کنه: http://msdn.microsoft.com/en-us/library/a6t1z9x2.aspx

:خجالت:Ideas are everything, Microsoft Corporation