PDA

View Full Version : سوال: اتصاال دیتابیس sql دیتچ شده به vb6



ashkan1234
جمعه 20 اردیبهشت 1392, 22:33 عصر
با سلام!
دوستان بعد از کلی جستجو مطلب مناسبی در این مورد پیدا نکردم!
اگر براتون مقدوره راهنمایی بفرمایید که چطور میشه یک بانکی که با sql طراحی کردم و بعد Detach کردم و در پوشه نرم افزار کپی کردم رو به ویژوال بیسیک متصل کرد؟
توجه بفرمایید که فایل دیتچ شدست!
راههای دیگرو هم میدونم!

m.4.r.m
جمعه 20 اردیبهشت 1392, 22:38 عصر
خوب شما اول برو دستی دیتابیس رو به Sql اتچ کن بعد تو وی بی کد اتصال رو براش بنویس چه کاری داره مگه این ؟
یا هم این کد رو در فرم لود خودت بنویس

Private Sub Form_Load()
Dim Cnn As New Connection
Cnn.Open "Provider=sqloledb;Data Source= " & SERVER_NAME & ";Initial Catalog=master;Persist Security Info=false;Integrated Security=SSPI;"
Cnn.Execute "CREATE DATABASE Db ON (FILENAME = 'D:\shahed\PROJECT\SQL DATABASE\BAAR_Data.MDF'),(FILENAME = 'D:\shahed\PROJECT\SQL DATABASE\BAAR_log.ldf')FOR ATTACH; "
MsgBox "ÏíÊÇÈíÓ ÔãÇ ÈÇ ãæÝÞíÊ Çʍ ÔÏ", vbInformation, ""
End Sub

ashkan1234
جمعه 20 اردیبهشت 1392, 22:48 عصر
Cnn.Open "Provider=sqloledb;Data Source= " & SERVER_NAME & ";Initial Catalog=master;Persist Security Info=false;Integrated Security=SSPI;"

اینو که با فایل UDL میگیرم!
دیتا بیس اکسس رو دیدی چجوری کپی میکنیم کنار نرم افزار بعد دیتابیس به دست کاربر هم میرسه!الان در Data Source نام سرور رو میزنیم!ولی در اکسس یه App.Path میزدیم و آدرس دیتا بیس رو میدادیم!اینجا هم میخوام همونکارو کنم ولی جواب نمیده!
یا تو سی شارپ دیتا بیس رو میریزم تو پوشه bin!و از اونجا اتصال میدم!
تو وی بی هم میخوام فایل رو کنار سورس بزارم!

Cnn.Execute "CREATE DATABASE Db ON (FILENAME = 'D:\shahed\PROJECT\SQL DATABASE\BAAR_Data.MDF'),(FILENAME = 'D:\shahed\PROJECT\SQL DATABASE\BAAR_log.ldf')FOR ATTACH; "
این دستور هم که فکر میکنم یه دیتا بیس جدید میسازه و بعد اتچش میکنه!
امیدوارم منظورمو رسونده باشم!

m.4.r.m
جمعه 20 اردیبهشت 1392, 23:12 عصر
بلی فهمیدم منظور شما البته شما با همون دستور app هم میتونی همینو پیاده کنی مشکل نداره به جای ادرس کامل ادرس نسبی رو بدی همون کارو می کنه امتحان کن نتیجشو بگو

ashkan1234
جمعه 20 اردیبهشت 1392, 23:23 عصر
Dim MyConnObj As New ADODB.Connection
Dim myRecSet As New ADODB.Recordset
MyConnObj.Open "Provider=sqloledb;Data Source= " & App.Path & "\ashkan.mdf "" ;Initial Catalog=ashkan;Persist Security Info=false;Integrated Security=SSPI;"
myRecSet.Open "select * from tbl_Personel, MyConnObj, adOpenKeyset"
این خطا رو میده!
104005
خطای کارم کجاست؟

R2du-soft
شنبه 21 اردیبهشت 1392, 12:16 عصر
دوستان شرمنده ، توی ویژوال چطوری میشه دیتابیس sql ؤو که روی نت هست رو خوند؟ منظورم از آدرس اینترنتیش هست و نمایش توی برنامه؟!

ashkan1234
شنبه 21 اردیبهشت 1392, 19:44 عصر
دوستان من خیلی گیرم!
لطفا مددی برسونید!

m.4.r.m
شنبه 21 اردیبهشت 1392, 23:16 عصر
& App.Path & "\ashkan.mdf این چیه نوشتی ؟ بابا این نام سرور شماست نه محل ادرس دیتابیس شما اینو قاطی کردی خط اول رو نباید ادیت کنی فقط نام دیتابیس رو که اشکان نوشتی درسته اون قبلی رو همون servername قرار بده
این خطا به شما میگه دیتابیس شما در sql وجود ندارد که بتونه open کنه کدی رو که بهتون دادم رو اجرا می کنین تا یک دیتابیس همنام در sql درست کنه بعد از طریق مسیر فوق دیتابیس شما رو بر روی اون قرار بده بعد از این کار شما میای عمل open رو انجام میدی اونی رو که بهت دادم تو پست قبلی اجرا کن اون درسته قبل شما هم یکی همین سوال رو داشت که با این کار درست شد .

ashkan1234
شنبه 21 اردیبهشت 1392, 23:50 عصر
& App.Path & "\ashkan.mdf این چیه نوشتی ؟ بابا این نام سرور شماست نه محل ادرس دیتابیس شما اینو قاطی کردی خط اول رو نباید ادیت کنی فقط نام دیتابیس رو که اشکان نوشتی درسته اون قبلی رو همون servername قرار بده
این خطا به شما میگه دیتابیس شما در sql وجود ندارد که بتونه open کنه کدی رو که بهتون دادم رو اجرا می کنین تا یک دیتابیس همنام در sql درست کنه بعد از طریق مسیر فوق دیتابیس شما رو بر روی اون قرار بده بعد از این کار شما میای عمل open رو انجام میدی اونی رو که بهت دادم تو پست قبلی اجرا کن اون درسته قبل شما هم یکی همین سوال رو داشت که با این کار درست شد .
شما گفتی app بزن!
من یخورده ناشی بازی در میارم شما ببخش!
خیلی متوجه نشدم باید چیکار کنم!
الان فرض کنید دیتابیسم دیتچ شده و کنار نرم افزارم در دسکتاپ کپی شده!
اسم دیتا بیسم مثلا :Ashkan
باید چیکار کنم؟
الان اینجوریش کردم باز همون ارور رو میده:
Dim Cnn As New Connection
Cnn.Open "Provider=sqloledb;Data Source= " & SERVER_NAME & ";Initial Catalog=ashkan;Persist Security Info=false;Integrated Security=SSPI;"
Cnn.Execute "CREATE DATABASE Db ON (FILENAME = 'C:\Users\ashkan-PC\Desktop\New folder\ashkan.MDF'),(FILENAME = 'C:\Users\ashkan-PC\Desktop\New folder\ashkan.ldf')FOR ATTACH; "
MsgBox "ÏíÊÇÈíÓ ÔãÇ ÈÇ ãæÝÞíÊ Çʍ ÔÏ", vbInformation, ""

m.4.r.m
یک شنبه 22 اردیبهشت 1392, 15:06 عصر
برو تو sql ببین دیتابیسی به نام اشکان نباشه ؛ بعدا بیا این دستور رو اجرا کن من خودم تست کردم کاملا جواب داد شما الان چه مشکلی داری دقیق نمی دونم چیه مسیر برنامه ها عوض کن مثلا فایل هاتو بریز تو یک درایو بعد مسیر بده به این دستور شاید از مسیر هم باشه در ضمن از رفرنس ها msado15.dll فعالش کن اینو باید کار کنه . تست کن جوابشو بده

ashkan1234
یک شنبه 22 اردیبهشت 1392, 21:40 عصر
برو تو sql ببین دیتابیسی به نام اشکان نباشه ؛ بعدا بیا این دستور رو اجرا کن من خودم تست کردم کاملا جواب داد شما الان چه مشکلی داری دقیق نمی دونم چیه مسیر برنامه ها عوض کن مثلا فایل هاتو بریز تو یک درایو بعد مسیر بده به این دستور شاید از مسیر هم باشه در ضمن از رفرنس ها msado15.dll فعالش کن اینو باید کار کنه . تست کن جوابشو بده
نه همچین دیتا بیسی ندارم!
مسیر هم چک کردم ،جابجا هم کردم جواب نداد!
همش همون ارور رو میده!
ولی اون رفرنس تو لیست رفرنس هام نبود که بخوام فعالش کنم!
ممنون که جواب میدید!

m.4.r.m
دوشنبه 23 اردیبهشت 1392, 00:52 صبح
سورس رو بزار اینجا برات درستش کنم

ashkan1234
دوشنبه 23 اردیبهشت 1392, 10:57 صبح
104130
ممنون