PDA

View Full Version : سوال: مشکل در فایل های دیتابیس sql نرم افزارم



hercool
جمعه 19 مهر 1392, 13:57 عصر
سلام دوستان
من برای برنامه نصبیم به مشکل برخوردم در بخش ریختن اطلاعات در دیتابیس
من برا ینرم افزارم این کار رو کردم
من در نرم افزار منیجمت اس کیو ال دیتابیس رو ساختم و در کد هام با استوری پروسیجر اطلاعات رو به برنامه پاس می دم
حالا زمانی که کد ها رو به فایل نصبی تبدیل کردم و روی یک ویندوز دیگه نرم افزار رو اجرا می کنم دیتابیسی وجود نداره که اطلاعات رو بریزه داخلش با اینکه من فایل های دیتابیس رو به برنامم اتچ کردم و همراه برنامم هست
حالا سوالم اینه که من
چکاری باید انجام بدم که بتونم اطلاعات رو در فایل های mdf همراه برنامم بریزم

چون زمانی که من نرم افزار رو نصب می کنم دیتابیس جدیدی در C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA ایجاد نشده

veniz2008
جمعه 19 مهر 1392, 14:07 عصر
سلام.
بعضی چیزها رو مشخص کنید :
1. دیتابیسی که همراه پروژه قرار دادی، دقیقا کجاست؟(تو کدوم مسیر قرار دادی).
2. آیا زمان نصب برنامه، دیتابیس بصورت خودکار اتچ میشه؟ (کلا اتچ کردید یا نه؟ )
شما باید دیتابیس رو به هر روشی که می تونید بعد از نصب برنامه، اتچ کنید.

hercool
جمعه 19 مهر 1392, 14:27 عصر
من در فایل appdatafolder فایلهای دیتابیس رو اضافه می کنم
به برنامم نسخه اکسپرس 2008 رو با حجم 91 مگابایت به عنوان نیازمندی های نصب اضافه می کنم تا نصب بشه
بعد از ایجاد برنامه به فایل نصبی در فولدر disk1 در پوشه applicationdata فایل های دیتابیسم هست
اونا رو به ویندوز جددی انتقال می دم بعد برنامه رو نصب می کنم
حالا در این مسیر C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA دیتابیس مورد نیازم نصب نشده
بسته نیازمندی اس کیو الی که من همراه برنامه نصب کردم قسمت مدیریت اینا نداره فقط دو گزینه داره
Import and Export Data (32-bit)
Configuration Tools
نمی دونم باید چکار کنم که برنامم کار کنه
در مورد اتچ کردن هم من جایی رو نمی دونم که فایل ها رو بهش اتچ کنم

hercool
جمعه 19 مهر 1392, 14:30 عصر
وقتی هم ایمپورت میزنم و یک دیتابیس جدید می خوام در همون جا درست کنم این ارور رو میده

TITLE: SQL Server Import and Export Wizard
------------------------------

The database could not be created.

------------------------------
ADDITIONAL INFORMATION:

Create failed for Database 'hesab'. (Microsoft.SqlServer.Smo)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22+((SQL_PreRelease).080709-1414+)&EvtSrc=Microsoft.SqlServer.Management.Smo.Exceptio nTemplates.FailedOperationExceptionText&EvtID=Create+Database&LinkId=20476

------------------------------

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

CREATE DATABASE permission denied in database 'master'. (Microsoft SQL Server, Error: 262)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1600&EvtSrc=MSSQLServer&EvtID=262&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

veniz2008
جمعه 19 مهر 1392, 14:36 عصر
شما برای راحتی کار خودت دیتابیس رو به کنار فایل اجرایی برنامه منتقل کن و از روش اتچ خودکار استفاده کن.
در تاپیک زیر در این باره کامل بحث شده. پست های 67 به بعد رو مطالعه کنید :
http://barnamenevis.org/showthread.php?415859-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%88-%D9%86%D8%B8%D8%B1%D8%A7%D8%AA-quot-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-%D8%A7%D8%B2-%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7-%D8%AA%D8%A7-%D8%A7%D9%86%D8%AA%D9%87%D8%A7-quot/page2
موفق باشید.

hercool
جمعه 19 مهر 1392, 15:28 عصر
ممنون اما این کاررو انجام دادم جالب اینجاست که اروری نداد اما رکوردی رو هم اضافه نکرد

rezgar_roshan
جمعه 19 مهر 1392, 15:54 عصر
سلام دوستان گلم. مشکلی برام پیش اومده هرکاری میکنم متوجه نمیشم مشکل از کجاست لطفا راهنماییم کنید.
دارم روی یه بانک اطلاعاتی کار میکنم یه جدول رو میخوام ویرایش کنم یا استفاده از دستور UPDATE. دستور رو اینجوری استفاده کردم
UPDATE tblUsers SET UserName=@p1,Password=@p2 WHERE UserName='"+txtUser
وقتی برنامه رو اجرا میکنم پیام میده
Syntax error in UPDATE statment
هر کاری میکنمنمیدونم مشکل از کجاست حتی WHERE هم برداشتم که باید کل جدول رو تغییر بده باز هم همون پیامو میده
لطفا راهنماییم کنید چیکار کنم.

veniz2008
جمعه 19 مهر 1392, 17:48 عصر
ممنون اما این کاررو انجام دادم جالب اینجاست که اروری نداد اما رکوردی رو هم اضافه نکرد
کدی که به نظرتون درست هست و باید اتچ خودکار رو انجام بده رو اینجا بذارید. فقط بگید که این کد رو کجا گذاشتید (داخل دکمه، فرم لود یا ...).


سلام دوستان گلم. مشکلی برام پیش اومده هرکاری میکنم متوجه نمیشم مشکل از کجاست لطفا راهنماییم کنید.
دارم روی یه بانک اطلاعاتی کار میکنم یه جدول رو میخوام ویرایش کنم یا استفاده از دستور UPDATE. دستور رو اینجوری استفاده کردم
UPDATE tblUsers SET UserName=@p1,Password=@p2 WHERE UserName='"+txtUser
وقتی برنامه رو اجرا میکنم پیام میده
Syntax error in UPDATE statment
هر کاری میکنمنمیدونم مشکل از کجاست حتی WHERE هم برداشتم که باید کل جدول رو تغییر بده باز هم همون پیامو میده
لطفا راهنماییم کنید چیکار کنم.
لطفا سوالتون رو در یک تاپیک جداگانه مطرح کنید و تاپیک دوستتون رو خراب نکنید.

hercool
جمعه 19 مهر 1392, 20:14 عصر
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath +
"\\hesab.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

من فایل ها رو کنار فایل نصب شده ریختم و برنامه رو اجرا کردم باز جواب نگرفتم
این کد کانکشن رو هم من به صورت سراسری تعریف کردم

veniz2008
جمعه 19 مهر 1392, 23:37 عصر
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath +
"\\hesab.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

من فایل ها رو کنار فایل نصب شده ریختم و برنامه رو اجرا کردم باز جواب نگرفتم
این کد کانکشن رو هم من به صورت سراسری تعریف کردم
من از حرف های شما اینطور برداشت کردم :
شما یه پوشه داری که فایل اجرایی برنامه و دیتابیس شما، کنار هم داخل این پوشه قرار دارن. (تا اینجا درست؟)
کدی که نوشتی درسته.
دیتابیس پروژه رو با چه ورژنی از sql ساختی؟
نسخه express ای که روی سیستم مقصد نصب کردی چی هست؟

hercool
شنبه 20 مهر 1392, 08:28 صبح
دقیقا درسته
دیتابیس پروژه 2008 اکسپرس هست
نسخه ویندوز جدیده رو هم همین انتخاب کردم
دیروز با کلی دردسر تونستم با دادن مقدار . به قسمت دیتا سورس کار رو راه بندازم البته تو بعضی موارد مشکل دارم مثل اپدیت کردن
ولی می خوام برنامه طوری باشه که بتونه نام سرور ها رو بگیره و حق انتخاب بده بهتره شاید جایی رفتم و . کار نکرد

veniz2008
شنبه 20 مهر 1392, 18:26 عصر
دقیقا درسته
دیتابیس پروژه 2008 اکسپرس هست
نسخه ویندوز جدیده رو هم همین انتخاب کردم
دیروز با کلی دردسر تونستم با دادن مقدار . به قسمت دیتا سورس کار رو راه بندازم البته تو بعضی موارد مشکل دارم مثل اپدیت کردن
ولی می خوام برنامه طوری باشه که بتونه نام سرور ها رو بگیره و حق انتخاب بده بهتره شاید جایی رفتم و . کار نکرد
در تاپیک زیر و در پست 4 جواب سوالتون رو گذاشتم.
موفق باشید.
http://barnamenevis.org/showthread.php?423366-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D9%86%D8%A7%D9%85-%D8%B3%D8%B1%D9%88-%D9%87%D8%A7%DB%8C-%D9%85%D9%88%D8%AC%D9%88%D8%AF-%D8%AF%D8%A7%D8%AE%D9%84-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85