PDA

View Full Version : موجود بودن دیتابیس ؟؟



elmira_63
یک شنبه 30 فروردین 1388, 10:36 صبح
سلام دوستان
چطور میتونم بفهمم که دیتابیسم موجود هست در sql یا نه؟ (البته در vb)

NIUSHA_KH
دوشنبه 31 فروردین 1388, 00:44 صبح
با سلام دوست عزیز
اگه منظورتون رو درست متوجه شده باشم شما بعد از اینکه ConnectionStringرا تعریف کردبد و آدرس دیتابیس SQLتون را توش نوشتید میتونید بنویسید, سپس ازکد زیر استفاده کنید .




connection1 = New OleDb.OleDbConnection
' 3- Set ConnectionString

connection1.ConnectionString =

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\DB.mdb"

' 4- Open Connection

Try
connection1.Open()
Catch ex As Exception
MsgBox(ex.Message)
EndTry
If connection1.State = ConnectionState.Open Then
MsgBox( "connection is open")


EndIf



اگر Connectionباز نشود میتوان خطا را متوجه شد
امیدوارم که منظورتون همین باشه.

anooshiran
دوشنبه 31 فروردین 1388, 08:22 صبح
سلام دوست عزيز

يكي از راهكارها را دوست عزيزم NIUSHA_KH مطرح نمودند. و اين هم راه ديگر
زماني كه يك database بوسيله user و از طريقEnterprize Manger ايجاد مي گردد 2 فايل با نام انتخاب شده وبا پسوندهاي Data.Mdf_ و log.ldf_ براي آن ايجاد گرديده و در آدرسي مشابه آدرس ذيل ذخيره مي گردد
C:\Program Files\Microsoft SQL Server\MSSQL\Data
البته اين به شرطي است كه sql را در درايو c كامپيوتر install شده باشد.
مثلا اگر نام database ايجاد شده MyDatabase باشد 2 فايل به نامهاي MyDataBase_Data.mdf و MyDataBase_Log.ldf در آدرسي ماند فوق ايجاد مي گردد.

لازم به توضيح است كه اگر شما databse را بوسيله كد ايجاد نموده ايد و براي ذخيره آن از آدرس ديگري استفاده نموده ايد بايد از همان آدرس استفاده كنيد.
البته در اين حالت طريقه نامگذاري الزاما به حالت فوق نيست

حال شما مي توانيد از طريق كد زير دريابيد كه database مورد نظر شما موجود است يا نه؟




Dim path As String = "C:\Program Files\Microsoft SQL Server\MSSQL\Data\"
Dim dbase As String = "MyDataBase_Data.mdf"
If System.IO.File.Exists(path + dbase) Then
MsgBox(dbase + " exist")
Else
MsgBox(dbase + " dosen,t exist")
End If



اگر توضيحاتم كافي يا شفاف نيست عنوان كنيد تا بيشتر توضيح دهم

elmira_63
دوشنبه 31 فروردین 1388, 10:29 صبح
سلام دوست عزيز

يكي از راهكارها را دوست عزيزم NIUSHA_KH مطرح نمودند. و اين هم راه ديگر
زماني كه يك database بوسيله user و از طريقEnterprize Manger ايجاد مي گردد 2 فايل با نام انتخاب شده وبا پسوندهاي Data.Mdf_ و log.ldf_ براي آن ايجاد گرديده و در آدرسي مشابه آدرس ذيل ذخيره مي گردد
C:\Program Files\Microsoft SQL Server\MSSQL\Data
البته اين به شرطي است كه sql را در درايو c كامپيوتر install شده باشد.
مثلا اگر نام database ايجاد شده MyDatabase باشد 2 فايل به نامهاي MyDataBase_Data.mdf و MyDataBase_Log.ldf در آدرسي ماند فوق ايجاد مي گردد.

لازم به توضيح است كه اگر شما databse را بوسيله كد ايجاد نموده ايد و براي ذخيره آن از آدرس ديگري استفاده نموده ايد بايد از همان آدرس استفاده كنيد.
البته در اين حالت طريقه نامگذاري الزاما به حالت فوق نيست

حال شما مي توانيد از طريق كد زير دريابيد كه database مورد نظر شما موجود است يا نه؟




Dim path As String = "C:\Program Files\Microsoft SQL Server\MSSQL\Data\"
Dim dbase As String = "MyDataBase_Data.mdf"
If System.IO.File.Exists(path + dbase) Then
MsgBox(dbase + " exist")
Else
MsgBox(dbase + " dosen,t exist")
End If



اگر توضيحاتم كافي يا شفاف نيست عنوان كنيد تا بيشتر توضيح دهم

ممنون از توضیحاتتون ولی یه مشکلی که داره این کد اینه که من دیتابیسم به صورت فایل .mdf و .ldf در کنار فایل اجرایی برنامم هست که با اجرای برنامه به صورت اتوماتیک همین فایل ها رو توی همین آدرس میاد attach میکنه توی sql ولی اگه قبل از این که این فایل ها attach بشه هم با کد شما بخواد چک بکنه دیتابیس موجود هست ولی هنوز توی sql وارد نشده

iman_22a
دوشنبه 31 فروردین 1388, 14:04 عصر
خانم المیرا ، شما از بانک Sql Express استفاده می کنین . موقعی که برنامه اجرا میشه . بانکتون به Sql Server Express که روی سیستم نصبه اتچ میشه و با پایان اجرای برنامه Dettach (جدا ) میشه (یه چیزی تو مایه های Msd Microsoft Access)

این مسیرهایی که دوستان معرفی کردن برای Sql Server هست . شما احتمالا موقع نوشتن پروژه تون دیتابیس رو به پروژه اضافه کردین .

maisam_s
جمعه 26 خرداد 1391, 19:54 عصر
در سی شارپ که از اسکیوال اکسپرس استفاده می شودمی توان از کد زیر برای موجود بودن دیتابیس استفاده کرد:
البته قبل از آن dllهای زیر را add کنید
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Management.Sdk.Sfc.dll
Microsoft.SqlServer.Replication.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.SmoEnum.dll
Microsoft.SqlServer.SqlEnum.dll
==============================
Server srv;
srv = new Server(".\\SQLEXPRESS");
if (srv != null)
{
Database db = default(Database);
db = srv.Databases["نام دیتابیس را بنویسید"];
if (db == null)
{
....
}