سلام
یه برنامه دارم که با sql ارتباط داره باید چطوری ADo connection رو تنظیم کنم که روی هر سیستمی قابلیت اجرا رو داشته باشه با توجه به اینکه هر سیستمی یه server مخصوص به خودش رو داره ؟
Printable View
سلام
یه برنامه دارم که با sql ارتباط داره باید چطوری ADo connection رو تنظیم کنم که روی هر سیستمی قابلیت اجرا رو داشته باشه با توجه به اینکه هر سیستمی یه server مخصوص به خودش رو داره ؟
ببخشید اشتب شد . یه لحظه فکر کردم تاپیک توی انجمن فریم ورک هستش :دی
میتونی از یک فایل کمکی Local برای ذحیره کردن اطلاعات سرور استفاده کنی.
سلام میشه یه مثال بزنی بزاری اینجا ؟
یک دیتابیس و یا فایل خاصی با فرمت مورد نظرت درست میکنی و کنار فایل exe قرار میدی.
وقتی برنامه رو اجرا میکنی اول چک میکنی فایل هست یا نه. اگه بود آدرس و مشخصات یرور رو که قبلا توش دخیره کردی میخونی و Connection رو میسازی.
مثال :
آدرس سرورت به صورت زیر هست
اینو به صورت String توی یک فایل ذخیره میکنی و توی کارنکشنت اون رو به صورت متغیر میزاری.کد:\\arash\data\db.mdb
تمام
حالا اگه بانکم توی یه سیستم ذخیره شده باشه و برنامم روی چند تا سیستم دیگه باشه ADO CONNECTION ؤو باید چطوری تنظیم کنم ؟
ما منتظر همین یه قسمت هستیم اگه کسی میتونه راهنمایی کنه :40:
تنظیم خود ADO کار سختی نیست.
یعنی آدرس رو که توی یک فایل txt هم میشه ذخیره کرد. و ارتباط برقرلر میشه.
فقط یکبار باید بری توس سیستم سرور و save password رو تیک بزن.
اینجوری برنامت کار میکنه.
ولی اگه نمیخوای این کار رو بکنی، باید یک Network بسازی. کد اونو توی About.delphi.com دیده بودم ولی نمیدونم چیه.
مرد مباح همین خوبه اگه میتونی همین رو میتونی واسم برنامه کنی و بنویسی؟ :11:نقل قول:
کدش تقریبا به صورت زیر میشه.
چون دلفی ندارم به صورت ذهنی نوشتم که ممکنه مشکل داشته باشه :
بخشی که نوشتم AAA بسته به provider شما تعیین میشه. یک بار کانکشن برنامه رو با کمک ویزاد دلفی بساز. بعد اونو کپی کن.کد:var
s:string;
f:textfile;
begin
assign(f,'database.txt');
reset(f);
s:=readln(f);
close(f);
adocon.connectionstring:='AAA'+s+'AAA';
try
adocon.open;
except
messagdlg('Error in connection',mterror,[mbok],0)
close;
end;
اینجوری فقط جای فایل رو به شکل بالا تغییر بده.
موفق باشی.
سلام
مرد مباح عزیز خیلی از لطفت ممنونم ایشالله بتونم جبران کنم :11:
فقط یه سوال دیگه برای اینکه برنامم تحت شبکه باشه یعنی بانکم روی یه سیستم اجرا بشه و چند تا کلاینت دیگه بتونن بهش وصل بشن باید چکار کنم ؟ من خودم نظرم اینه که ه فقط از توی دیتا بیس Sql تنظیم کنم فقط بانکم رو Share کنم بعد نام سرور رو بدم به برنامم ولی چطور ؟
یک راه اینه که توی کام÷یوتر سرور SQL Seve نصب کنی و توی کلاینتها آدرس دیتابیس رو توی شبکه بدین به کانکشنتون.
من خودم تا حالا یا SQL این کار رو نکردم و بیشتر نمیدونم. ولی Pimavea که یک برنامه کنترل پروژه هستش همین جوری عمل میکنه.
راه دیگه اینه که فایل Access رو توی یک شبکه بزارین. توی یک فولدر شیر شده و Full Access.
و بعد با Jet بهش کانکت بشی با آدرش فولدر شیر شده.
سلام
من از این کد واسه گرفتن نام سرور استفاده میکنم!
حالا من چطوری باید نام سرور sql سیستم سرور رو بدم به برنامه ؟کد:var
strConnection:String;
Ini1:TIniFile;
strServer:String;
begin
Ini1:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'settings.ini');
strServer:=Ini1.ReadString('DatabaseSettings','Server','');
strConnection:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Pakhsh;Data Source='+strServer;
ADOConnection1.ConnectionString:=strConnection;
try
ADOConnection1.Connected:=True;
except
ShowMessage('ÊäÙíãÇÊ ÇÊÕÇá ÇÔÊÈÇå ÇÓÊ');
Application.Terminate;
end;
حالا میفهمم چرا زبان دلفی اینقدر بد بخت شد
دوست عزیز یک راه ساده بسیار کارآمد استفاده از فایلهای INI هست
موفق باشید