PDA

View Full Version : مشکل در attach کردن database



amin3271
شنبه 30 شهریور 1387, 14:16 عصر
سلام
نمی دونم چرا بعد از نصب برنامه ام روی سیستم مقصد . دیتابیس روی attach ، sqlserver می شود اما فایل های mdf.* و ldf.* در پوشه MSSQL\Data کپی نمی شوند . وبدین ترتیب برنامه هنگام login کردن به شکست می انجامد
لطفا راهنمایی بفرمایید:عصبانی++:

esmartiz_red
شنبه 30 شهریور 1387, 14:25 عصر
اگه کدی که می خوای با اون db رو attach کنی دوستان راحتتر می تونن کمکت کنن

amin3271
شنبه 30 شهریور 1387, 17:10 عصر
بعد از نصب برنامه توسط یه فایل exe از یک consoleApplication دیتابیس attach میشه.آدرس مبدا فایل های mdf.* و ldf.* ، آدرس محل نصب برنامه (از داخل پوشه Data ) می باشد واما کد consoleApplication:


using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
classProgram
{
staticvoid Main(string[] args)
{
SqlConnection con = newSqlConnection("Data Source=.;Initial Catalog=master;Integrated Security=True");
SqlCommand com = newSqlCommand();
com.CommandText = "sp_attach_db @dbname = 'personeli', " +
" @filename1 = 'D:\\Program Files\\personeli\\data\\personeli.mdf', " +
" @filename2 = 'D:\\Program Files\\personeli\\data\\personeli_log.ldf'";
com.Connection = con;
try
{
con.Open();
Console.Write("started");
com.ExecuteNonQuery();
Console.Write("\n.");
con.Close();
Console.Write("\nfinished");
}
catch
{
}
}
}
}

البته من به طور مستقیم از طریق sqlsever نیز attachرو انجام دادم ولی بازهم اون فایل ها رو تو پوشه Data ی محل نصب Sqlserver ندیدم

SMRAH1
شنبه 30 شهریور 1387, 17:50 عصر
در هنگام attach کردن،sql server اصلا فایل رو جابجا نمی کنه!!!! فقط اطلاعاتی از اون رو (از جمله محل دقیق اون رو) درون خودش ذخیره می کنه (البته با نامی که مشخص شده باشد).
اگر می خواهید فایل داده ها در جای مورد نظرتون باشه،حتما باید قبل از attach اونها رو در مسیر مقصد کپی کند.

amin3271
شنبه 30 شهریور 1387, 20:59 عصر
پس مشکل کجاست؟ برنامه نصب شده sqlserver هم هست دیتابیس هم attachشده اما وقتی در صفحه login نام کاربری و کلمه عبور رو میدی پیغام خطا مبنی می دهد( login failed...)

majid325
شنبه 30 شهریور 1387, 21:32 عصر
سلام دوست عزيز:
شما براي اينكه به خود sqlServer كانكت بشي و جداولتو بيني به user و pass ي كه admin در اختيارت ميزاره نياز داري نه user و pass ي كه خودت در سيستمت براي بانكت ساختي
در آخر هم نميدونم مشكلت رو درست حدس زدم يا نه؟

mskarimi
شنبه 30 شهریور 1387, 21:33 عصر
آقا این مشکل منم هست.

majid325
شنبه 30 شهریور 1387, 21:45 عصر
آقا این مشکل منم هست.

ميشه مشكلتون رو واضح توضيح بدين؟

esmartiz_red
شنبه 30 شهریور 1387, 22:09 عصر
دوستان راست می گن نباید حتما db بره تو فولدر data وقتی شما attach رو انجام می دی و پیغام موفقیت آمیز بودن دریافت می کنید یعنی Sql server با بانکت می تونه ارتباط برقرار کنه

amin3271
شنبه 30 شهریور 1387, 23:59 عصر
من می تونم جداول بانک رو ببینم یا حتی از طریق sql server اونها رو ویرایش کنم ولی مشکل اینجاست که نمی تونم با وارد کردن user و pass برنامه ام وارد اون بشم

majid325
شنبه 30 شهریور 1387, 23:06 عصر
من می تونم جداول بانک رو ببینم یا حتی از طریق sql server اونها رو ویرایش کنم ولی مشکل اینجاست که نمی تونم با وارد کردن user و pass برنامه ام وارد اون بشم

لللللططططططفففففااااااااا جهت زود رسيدن به نتيجه مشكلتان را واضح توضيح دهيد.

اگر براي بانكتون در يك pc ديگر User و Pass گزاشتيد بايد در اين سرور هم همين كار رو بكنيد اگه درست يادم باشه اگه بعد از كارد بالا مشكلتحلنشد يه بار deattach كن .

Alen
یک شنبه 31 شهریور 1387, 08:57 صبح
ببينيد اگه ديتا بيس رو ميتونيد تو management studio يا . . . ببينيد ولي از طريق برنامه نميتونيد بهش كانكت بشيد موارد زير رو چك كنيد
1-در كدهاي برنامه ومشخصا connection string آيا از مجوزهاي windows براي دستيابي به DB استفاده مي كنيد يا مجوزهاي SQL Server ؟
2-اگه مورد دوم(مجوزهاي SQL Server) مطمئن شويد كه SQL Server شما در حالت mixed mode‌قرار دارد (با استفاده از مسير proprties->seurity)
3-مطمئن شويد كاربري كه از اون براي دستيابي به DB‌استفاده مي كنيد در SQL Server‌تعريف شده و مجوزهاي لازم به آن داده شده(طبيعتا از مسير security->login)
اگه موارد فوق انجام شده و باز هم error داريد متن خطا رو اينجا بزاريد تا بشه بهتر تصميم گرفت
موفق باشيد