rezvan_DP
چهارشنبه 28 شهریور 1386, 00:09 صبح
سلام
سوال من در مورد نحوه ایجاد connection string برای یک برنامه تحت شبکه است و با جستجوهایی که انجام دادم مشکلم حل نشد :
( برنامه دلفی 7،SQL Server2000 Developer Edition ,windows xp service pack2 ،اتصال به بانک با ADO)
1-اول سعی کردم که connection string رو به این صورت بسازم:
'Provider=SQLOLEDB.1;Persist Security Info=False;'+
'User ID=S.A.T;password=sat; Initial Catalog=my_data;'+
'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'+
'Workstation ID=my_copmuter_name;Use Encryption for Data=False;'+
'Tag with column collation when possible=False;Data Source=my_computer_name';
{البته میدونم که datasource باید نام سرور باشه ولی فعلا میخواستم رو سیستم خودم تستش کنم}
وطبق راهنماییهای سایت در SQL هم loginو هم userدرست کردم و یک اکانت هم با همان نام برای ویندوز ایجاد کردم.اما زمان اجرا این خطا را داشت:
sql server dosen't exist or access denied
و وقتی که Data Source=my_computer_name رو حذف میکنم این خطا رو میده :
login failed for user S.A.T ,reason: Not associated with a trusted sql server connection
2- در SQL لاگین با windows autenthication و کاربرش را ساختم , یک اکانت هم با همان نام برای ویندوز ایجاد کردم و در دلفی هم این connection string را نوشتم ،که مشکلی نداشت و ارتباط برقرار شد.
'Provider=SQLOLEDB.1;Integrated Security=SSPI;'+
'Persist Security Info=False;Initial Catalog=my_data;Use Procedure for Prepare=1;'+
'Auto Translate=True;Packet Size=4096;Workstation ID=127.0.0.7(my_computer_name);Use Encryption for Data=False;'+
'Tag with column collation when possible=False;datasource=my_computer_name';
3- با استفاده از ODBC یک DNS ساختم و اونجا کانکت هم شد و مشکلی نداشت:
'Provider=MSDASQL.1;Persist Security Info=False;Data Source=my_DNS'
-در قسمت 1 و 2 وقتی در دلفی و در Data Link Properties میخوام نام سرور رو انتخاب کنم ، لیست کشویی مربوطه خالی هست؟
- در مورد 3 ، آیا استفاده از ODBCو ADO ایرادی نداره و کار درستی هست؟چراکه از بعضی تاپیک ها اینطور برداشت کردم که اگه از ADO استفاده بشه نیازی به ODBC نیست؟
- برای یک برنامه تحت شبکه ساده{نیازی به ثبت اطلاعات نداره و فقط جستجو داره} کدام روش از 3 مورد بالا بهتر است؟
سپاسگزارم.
سوال من در مورد نحوه ایجاد connection string برای یک برنامه تحت شبکه است و با جستجوهایی که انجام دادم مشکلم حل نشد :
( برنامه دلفی 7،SQL Server2000 Developer Edition ,windows xp service pack2 ،اتصال به بانک با ADO)
1-اول سعی کردم که connection string رو به این صورت بسازم:
'Provider=SQLOLEDB.1;Persist Security Info=False;'+
'User ID=S.A.T;password=sat; Initial Catalog=my_data;'+
'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'+
'Workstation ID=my_copmuter_name;Use Encryption for Data=False;'+
'Tag with column collation when possible=False;Data Source=my_computer_name';
{البته میدونم که datasource باید نام سرور باشه ولی فعلا میخواستم رو سیستم خودم تستش کنم}
وطبق راهنماییهای سایت در SQL هم loginو هم userدرست کردم و یک اکانت هم با همان نام برای ویندوز ایجاد کردم.اما زمان اجرا این خطا را داشت:
sql server dosen't exist or access denied
و وقتی که Data Source=my_computer_name رو حذف میکنم این خطا رو میده :
login failed for user S.A.T ,reason: Not associated with a trusted sql server connection
2- در SQL لاگین با windows autenthication و کاربرش را ساختم , یک اکانت هم با همان نام برای ویندوز ایجاد کردم و در دلفی هم این connection string را نوشتم ،که مشکلی نداشت و ارتباط برقرار شد.
'Provider=SQLOLEDB.1;Integrated Security=SSPI;'+
'Persist Security Info=False;Initial Catalog=my_data;Use Procedure for Prepare=1;'+
'Auto Translate=True;Packet Size=4096;Workstation ID=127.0.0.7(my_computer_name);Use Encryption for Data=False;'+
'Tag with column collation when possible=False;datasource=my_computer_name';
3- با استفاده از ODBC یک DNS ساختم و اونجا کانکت هم شد و مشکلی نداشت:
'Provider=MSDASQL.1;Persist Security Info=False;Data Source=my_DNS'
-در قسمت 1 و 2 وقتی در دلفی و در Data Link Properties میخوام نام سرور رو انتخاب کنم ، لیست کشویی مربوطه خالی هست؟
- در مورد 3 ، آیا استفاده از ODBCو ADO ایرادی نداره و کار درستی هست؟چراکه از بعضی تاپیک ها اینطور برداشت کردم که اگه از ADO استفاده بشه نیازی به ODBC نیست؟
- برای یک برنامه تحت شبکه ساده{نیازی به ثبت اطلاعات نداره و فقط جستجو داره} کدام روش از 3 مورد بالا بهتر است؟
سپاسگزارم.