PDA

View Full Version : attach کردن بانک sql از داخل برنامه دلفی



oranos1212
یک شنبه 22 فروردین 1389, 08:17 صبح
سلام

می خوام بانک اطلاعاتیم رو از داخل برنامه دلفی attach کنم یعنی بعد از زدن دکمه ی ایجاد بانک اطلاعاتی بانکی که من از قبل دارم رو attach کنه البته با نامی که از من می گیره می تونین راهنماییم کنید؟؟؟؟؟؟؟؟؟؟؟؟:افسرده:

benyaminrahimi
یک شنبه 22 فروردین 1389, 22:52 عصر
یک بار این عمل رو تو sql انجام بده بعد ببین تو sql profiler چه کدی براش اجرا می کنه بعد اون کد رو تو یک کنترل tado command که تو برگه ado یا dbgo هست اجراش کن به همین سادگی

Ebrahim Asadi
دوشنبه 23 فروردین 1389, 00:46 صبح
سلام
يه ADOCommand1 روي فرم برنامه ات قرار بده و آن را به ديتابيس master متصل كن مثال:


ADOCommand1.ConnectionString := 'Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;User ID=sa;Initial Catalog=master'
و CommandText آن را به صورت زير مقدار دهي و اجرا كن:


ADOCommand1.CommandText := 'EXEC sp_attach_db YourDatabase '
+ ', '
+ '''' + ExtractFilePath(Application.ExeName) + 'YourDatabase_Data.MDF' + ''''
+ ', '
+ '''' + ExtractFilePath(Application.ExeName) + 'YourDatabase_Log.LDF' + '''';

ADOCommand1.Execute;
كه YourDatabase نام ديتابيس مورد نظر است. ExtractFilePath(Application.ExeName) حاوي مسير فايل اجرايي برنامه است.

mehrpars
پنج شنبه 06 خرداد 1389, 01:08 صبح
سلام

می خوام بانک اطلاعاتیم رو از داخل برنامه دلفی attach کنم یعنی بعد از زدن دکمه ی ایجاد بانک اطلاعاتی بانکی که من از قبل دارم رو attach کنه البته با نامی که از من می گیره می تونین راهنماییم کنید؟؟؟؟؟؟؟؟؟؟؟؟:افسرده:

این نمونه کدو بگیر ، دوستای دیگه هم این سئوال رو زیاد داشتن
با دلفی نوشتم و دیتابیس sqlserver رو Attach میکنه

http://www.mediafire.com/file/5unmznvgyod/AttachDataBase[daloon.wordpress.com].rar (http://www.mediafire.com/file/5unmznvgyod/AttachDataBase%5Bdaloon.wordpress.com%5D.rar)

vahid64
جمعه 14 مرداد 1390, 12:51 عصر
این نمونه کدو بگیر ، دوستای دیگه هم این سئوال رو زیاد داشتن
با دلفی نوشتم و دیتابیس sqlserver رو Attach میکنه

http://www.mediafire.com/file/5unmznvgyod/AttachDataBase[daloon.wordpress.com].rar (http://www.mediafire.com/file/5unmznvgyod/AttachDataBase%5Bdaloon.wordpress.com%5D.rar)
متاسفانه این نمونه کد دانلود نمیشه.کد آقای اسدی هم اجرا نمیشه.لطفاً اگه رها حلی به نظرتون میرسه راهنمایی کنین.

یوسف زالی
جمعه 14 مرداد 1390, 18:53 عصر
سلام دوستان.
این کد رو امتحان کنید:



use master
go
CREATE DATABASE NameOfDataBase
ON (FILENAME = 'DB MDF Path'),
(FILENAME = 'DB LDF Path')
FOR ATTACH;
go

vahid64
جمعه 14 مرداد 1390, 22:09 عصر
سلام دوستان.
این کد رو امتحان کنید:



use master
go
CREATE DATABASE NameOfDataBase
ON (FILENAME = 'DB MDF Path'),
(FILENAME = 'DB LDF Path')
FOR ATTACH;
go

73383

اینو میگه!!!

vahid64
جمعه 14 مرداد 1390, 22:13 عصر
use master
go
CREATE DATABASE NameOfDataBase
ON (FILENAME = 'DB MDF Path'),
(FILENAME = 'DB LDF Path')
FOR ATTACH;
go

نه انگار کار نمیکنه.نمی دونم تو یه حالتی جواب داد.حالا هر چی آزمون خطا می کنم نمیشه دیگه...
خستم کرده دیگه...

یوسف زالی
شنبه 15 مرداد 1390, 03:25 صبح
شما به master کانکت بشید.
بعد فقط:


CREATE DATABASE NameOfDataBase ON (FILENAME = 'DB MDF Path'), (FILENAME = 'DB LDF Path') FOR ATTACH

vahid64
شنبه 15 مرداد 1390, 15:56 عصر
من بالاخره نتیجه گرفتم.حالا این پست رو مینویسم که شاید تجربیاتم برای بقیه دوستانی که این تاپیک رو خواهند خوند بدرد بخوره.
اول اینکه یه adocommand رو فرم گذاشتم و با ConnectionString به Master دیتابیس وصلش کردم بعد تو قسمت command این کد رو نوشتم
CREATE DATABASE [MozdiDoz] ON
( FILENAME = N'c:\MozdiDoz.mdf'),
( FILENAME = N'c:\MozdiDoz_log.ldf' )
FOR ATTACH
GO

اسم دیتا بیس من و فایل هاش MozdiDoz بود.مسلماً این اسم برای هر شخصی قابل تغیر هست.

دقت کنید دوستان این کد چند تا ریزه کاری داره که همونا منو خیلی الاف کرد.مثلاً ; بعد از کلمه Attach اضافی بود و ...

به هر حال این کد تست شد و جواب هم داد.

ممنون از همه دوستانی که وقت گذاشتن و جواب بنده رو دادن.

موفق باشید

nilidelphi
یک شنبه 16 مرداد 1390, 12:22 عصر
دوست گرامی این حرف N که قبل از مسیر فایل اومده چیه؟
آیا لازمه که باشه؟

Felony
یک شنبه 16 مرداد 1390, 13:54 عصر
دوست گرامی این حرف N که قبل از مسیر فایل اومده چیه؟
آیا لازمه که باشه؟
به National language character set اشاره میکنه و با آورده شدن اون به عنوان پیشوند به موتور بانک اطلاعاتی اطلاع میدید که رشته ارسالی Unicode هست ...