PDA

View Full Version : ارور: "ورژن دیتابیس"



zayens
شنبه 15 خرداد 1389, 11:45 صبح
فایل دیتابیسم را در پوشه ی Bin/Debug گذاشتم و از کانکشن زیر استفاده کردم ولی ارور میده.چرا؟
کانکشن استرینگ:


Mycn = newSqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\RESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

ارور:

The database 'C:\USERS\zayens\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS
\RESTORANS\RESTORANS\BIN\DEBUG\RESTORANS.MDF'
cannot be opened because it is version 655. This server supports version 612 and earlier
A downgrade path is not supported.
Could not open new database
'C:\USERS\zayens\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\RESTORANS\RESTORANS\BIN\DEBUG\RESTOR ANS.MDF'.
CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file
C:\Users\zayens\Documents\Visual Studio 2008
\Projects\RESTORANS\RESTORANS\bin\Debug\RESTORANS.
mdf failed.
A database with the same name exists,
or specified file cannot be opened,
or it is located on UNC share.
از روش زیر هم که csharpprogrammer88 لطف کردن و گفتند هم رفتم

از منوي data گزينه add new datasource كليك كنيد و next بزنيد و new connection و change و microsoft sql server database file سپس رويbrows كليك كنيد و مسير \bin\Debug پروژه خودتونو انتخاب كنيد و فايل بانك خودتونو انتخاب كنيد و test connection را بزنيد سپس ok كنيد و حالابايد connection sring توليد شده را انتخاب كنيد و بجاي كانكشن استرينگ قبلي استفاده كنيد
ولی بازم یه همچین اروری هنگام درخواست test connection داد.
http://dc199.4shared.com/img/306900662/156e423f/Untitled.jpg (http://www.4shared.com/photo/1dtIu9Jq/Untitled.html)
کسی میدونه معنی این ارور چیه؟

M.YasPro
شنبه 15 خرداد 1389, 11:55 صبح
سلام
شما دیتابیستون رو با sqlServer 2008 ساختید و می خواید با sqlexpress2005 اجرا کنید.
باید sqlexpress2008 رو از سایت مایکروسافت دانلود کنید .
موفق باشید .

حجتی نیا
شنبه 15 خرداد 1389, 11:58 صبح
تو solution رو برنامه کلیک راست و add>new existing Item بعدش فایل دیتابیس (mdf) رو انتخاب کن،بعدش مراحل مربوط به attach کردن رو انجام بده

zayens
شنبه 15 خرداد 1389, 14:22 عصر
سلام
شما دیتابیستون رو با sqlServer 2008 ساختید و می خواید با sqlexpress2005 اجرا کنید.
باید sqlexpress2008 رو از سایت مایکروسافت دانلود کنید .
موفق باشید .
یعنی با این که من Microsoft SQL Server 2008 را نصب کردم sqlexpress2008 باهاش نصب نشده؟
اصلا sqlexpress2008 مربوط به سی شارپه یا sql؟
در ضمن دانلودش هم 500Mb هست که با دانلودش برای من چند سال طول میکشه.
آیا توی خود سی دی های مایکروسافت نیست؟

M.YasPro
شنبه 15 خرداد 1389, 14:29 عصر
تا اونجایی که من میدونم بعد از sqlserver 2008 اومده .
مربوط به sqlserver میشه ولی microsoft توی vs2008 نسخه sqlexpress2005 رو ارائه داده .
حالا چرا دیتابیست رو توی 2005 نمیسازی ؟

zayens
شنبه 15 خرداد 1389, 14:33 عصر
تا اونجایی که من میدونم بعد از sqlserver 2008 اومده .
مربوط به sqlserver میشه ولی microsoft توی vs2008 نسخه sqlexpress2005 رو ارائه داده .
حالا چرا دیتابیست رو توی 2005 نمیسازی ؟
همین کار را میکنم
راستی...
اگه Microsoft SQL Server 2008 را پاک کنم و 2005 نصب کنم آیا دیتابیس هایی که با 2008 ساختم را میشه بهش Attach کرد؟

M.YasPro
شنبه 15 خرداد 1389, 14:36 عصر
پس ارور شما برای چیه !!! برای همینه دیگه .
شما با همون اکسپرس خود vs دیتابیس رو بسازید.

zayens
شنبه 15 خرداد 1389, 15:08 عصر
SQL 2008 را کامل Uninstall کردم

شما با همون اکسپرس خود vs دیتابیس رو بسازید.
چه طور باید این کار را بکنم؟

M.YasPro
شنبه 15 خرداد 1389, 15:13 عصر
add>new item>data>database

zayens
شنبه 15 خرداد 1389, 22:51 عصر
add>new item>data>database
این کار را کردم ولی بازم موقع testConnection همون اروررا میده؟

zayens
شنبه 15 خرداد 1389, 23:19 عصر
اصلا این مشکلات و مسخره بازی ها یعنی چی؟
یعنی چون من برنامم را در محیط Visual Studio 2008 نوشتم، هیچ جور نمی تونم دیتابیسی را که با SQL Server 2008 نوشتم،به برنامم Add کنم؟؟؟؟ و می بایستی از
sql 2005 استفاده می کردم؟؟؟
یعنی هیچ راهی هم نداره؟
پس sql2008 اصلا واسه چی اومد وقتی هنوز sqlExpress2008 نیومده(و فقط در اینترنت با حجم 500مگ یافت میشه)؟
من باید چی کار کنم؟؟

zayens
شنبه 15 خرداد 1389, 23:40 عصر
این مدیران هم که پاسخ دادن به سوالات پیش و پا افتاده ی مبتدیان ، براشون سنگینه فقط بلدن یه "اعلان" بزنن و از خودشون تعریف کنن و سوادشون را به رخ بقیه بکشن.:عصبانی:

behnam25214
یک شنبه 16 خرداد 1389, 00:06 صبح
منم قبلا یه همچین مشکلی داشتم و 2 ساعت وقت گذاشتم روش تا درست شد↓2

1. Visual Studio 2008 و SQL Server 2008 رو پاک کردم و اول SQL و بعدش VS رو نصب کردم دیگه درست شد.برای من پایگاه داده رو add نمیکرد.

یا این که دیتابیست رو با 2005 ذخیره کنی.

حجتی نیا
یک شنبه 16 خرداد 1389, 00:24 صبح
این مدیران هم که پاسخ دادن به سوالات پیش و پا افتاده ی مبتدیان ، براشون سنگینه فقط بلدن یه "اعلان" بزنن و از خودشون تعریف کنن و سوادشون را به رخ بقیه بکشن.
جسارته ولی به گفته خودت واسه من و شما که مبتدی هستیم،به نظر من نباید از ورژن های بالا که از امکانات جدیدش باخبر نیستیم استفاده کنیم. وقتی sql2005و vs2005یا vs2008 کارمونو راه میندازه چکاریه... من از vs2008و sql2005 استفاده میکنم و خوب هم با جورن..

zayens
یک شنبه 16 خرداد 1389, 00:25 صبح
VS2010 تو بازار هست؟
اگه این را بخرم چی؟ مشکل با sql2008 حل میشه؟

zayens
یک شنبه 16 خرداد 1389, 00:30 صبح
جسارته ولی به گفته خودت واسه من و شما که مبتدی هستیم،به نظر من نباید از ورژن های بالا که از امکانات جدیدش باخبر نیستیم استفاده کنیم. وقتی sql2005و vs2005یا vs2008 کارمونو راه میندازه چکاریه... من از vs2008و sql2005 استفاده میکنم و خوب هم با جورن..
اولا شما که مدیر نیستی چرا انقدر ناراحت شدی؟
ثانیا حرف شما مثل اینه که بگیم:
از این به بعد افرادی که قصد کار با رایانه را دارند از ویندوز 98 شروع کنن
من اینجا اومدم تا از امکانات جدید این برنامه ها بوسیله ی همین افراد دانا آگاه بشم.
وگرنه اگر آگاه بودم که بیکار نبودم که بیام

حجتی نیا
یک شنبه 16 خرداد 1389, 00:38 صبح
اولا شما که مدیر نیستی چرا انقدر ناراحت شدی؟
ثانیا حرف شما مثل اینه که بگیم:
از این به بعد افرادی که قصد کار با رایانه را دارند از ویندوز 98 شروع کنن
من اینجا اومدم تا از امکانات جدید این برنامه ها بوسیله ی همین افراد دانا آگاه بشم.
وگرنه اگر آگاه بودم که بیکار نبودم که بیام
دوست عزیز منظور من این نبود. منظور من اینه که از نرم افزارایی که امتخانشو پس داده استفاده کنیم.به هرحال....

این مدیران هم که پاسخ دادن به سوالات پیش و پا افتاده ی مبتدیان ، براشون سنگینه فقط بلدن یه "اعلان" بزنن و از خودشون تعریف کنن و سوادشون را به رخ بقیه بکشن
البته ماکه از چیزی عصبانی نیستیم و قصدمون کم کردن عصبانیت شما بود.

M.YasPro
یک شنبه 16 خرداد 1389, 07:48 صبح
من وقت ندارم بررسی کنم ولی فکر کنم همین لینک باشه اما 71mg هست
http://www.microsoft.com/express/Database/InstallOptions.aspx

zayens
سه شنبه 18 خرداد 1389, 19:43 عصر
یه بار دیگه سوالم را دقیق تر می پرسم:
چه طور میشه بدون نصب sqlserver در سیستم مقصد، برنامه بدون مشکل کار کند؟
نتایجی که بدست آوردم:
میشود دیتابیس را در Bin\Debug برنامه اضافه کرد و سپس آن را از منوی Data\Add new data source به برنامه اضافه کرد
مشکل:
در منوی Tools در Option در نوار Database Tools/Data Connections نام اینستنس sql را چی بذارم؟

sylvester
سه شنبه 18 خرداد 1389, 22:18 عصر
دوست عزیز شما قبل از کلمه sqlexpress توی کانکشن استرینگتون دو تا ' \ ' گذاشتید تا اونجایی که من می دونم یکی بیشتر نمی خواد !

zayens
سه شنبه 18 خرداد 1389, 23:18 عصر
دوست عزیز شما قبل از کلمه sqlexpress توی کانکشن استرینگتون دو تا ' \ ' گذاشتید تا اونجایی که من می دونم یکی بیشتر نمی خواد !
اینو میگی؟

Mycn = newSqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\RESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
وقتی یه دونه می ذارن که از @ استفاده بشه

Mycn = newSqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\RESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

حجتی نیا
سه شنبه 18 خرداد 1389, 23:30 عصر
یه بار دیگه سوالم را دقیق تر می پرسم:
چه طور میشه بدون نصب sqlserver در سیستم مقصد، برنامه بدون مشکل کار کند؟
نتایجی که بدست آوردم:
میشود دیتابیس را در Bin\Debug برنامه اضافه کرد و سپس آن را از منوی Data\Add new data source به برنامه اضافه کرد
مشکل:
در منوی Tools در Option در نوار Database Tools/Data Connections نام اینستنس sql را چی بذارم؟
من دیتابیسو باsqlserver2005 ایجاد کردم،باvs2008 برناممو نوشتم،تو سیستم مقصد با sqlexpress کار میکنه.
نام اینستنس روهم تنظیم نکردم اما sqlexpress هستش.تو همین تاپیکم قبلا گفتم چجوری دیتابیسو به برنامه اضافه کنیم(تو نتیجه گیریتون هم هست)
از این connectionsrtingاستفاده میکنم

connectionstring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\sodour.mdf;Integrated Security=True;User Instance=True";

zayens
جمعه 21 خرداد 1389, 13:07 عصر
خداراشکر این مشکل هم حل شد
چیزهایی که فهمیدم:
برای استفاده از databse File در برنامه (برای اینکه بعد از ساخت Setup نیازی به نصب خود sql نباشه)
باید از منوی data و Add new Data پس از انتخاب new connection در پنجره ی chane Data Source گزینه ی Microsoft SQL Server Database File را انتخاب کنیم.
بعدش فایل دیتابیسمون را که قبلا هم در اسکیوال Detach شده را انتخاب می کنیم.
البته قبلش باید فایل دیتابیسمون را در پوشه ی Bin\Debug در فایل پروژمون گذاشته باشیم.
حالا Test Connection را میزنیم و اگر پیغام Success داد OK میکنیم و Connection string+ را کپی و به جای کانکشن جدید قرار میدیم.
البته قسمت Bin\Debug را حذف می کنیم.
یه چیزی مثل زیر:


Mycn = newSqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\DataBaseFILENAME.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

اگر پیغام ارور داد مطالب زیر را بخونین


بعضی مشکلات که برای خیلی ها پیش میاد
کارهای بالا را در صورتی میتونید انجام بدید که از sql 2005 استفاده کرده باشید.

زیرا VS C#‎‎‎ 2008 از SQLEXPRESS 2005 استفاده کرده بنابراین باید دیتابیستون sql2005 باشه

در واقع اگه مثل من از SQL 2008 استفاده کنید این کار امکان پذیر نیست مگر اینکه یکی از دو کار زیر را انجام بدین:

1- از VS 2010 را نصب کنین و ازش استفاده کنید چون SQLEXPRESS 2008 داره
(که خود من به خاطر اینکه VS 2010 قسمت کریستال ریپورت را نداره، نصب نکردم
(لابد کریستال تو DVD جا نمیشده و نمیخواستن 2 تا DVD بدن.تو خارج قیمت VS2010 حدودا 12 میلیون تومنه!! البته برای کسایی که VS2010 نصب کردن لینک دادن تا رایگان دانلود کنن با حجم بیش از 500 مگ) )

2- خود VS 2010 را نصب کنین و سپس در Control Panel همه ی قسمت ها را به غیر از FrameWork و Compact و toolsها Uninstall کنین.
اگه میپرسین که چرا باید اینکار را کرد باید بگم که در هنگام نصب VS2010 در قسمت Custom برخلاف VS2008 گزینه ی SQL Express 2005 وجود
نداره تا که بتونیم فقط این گزینه را نصب کنیم و برای SQL Express 2008 من فقط این راه را ترجیح دادم
(میتونید خود اکسپرس2008 را از اینترنت با حجم 502مگابایت دانلود کنین.)


بعد از همه ی این کار ها اگر Test Connection پیغام Success داد OK میکنیم و Connection String مورد نظر را در برنامه استفاده می کنیم


Mycn = newSqlConnection("Data Source=.\\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\\DBRESTORANS.mdf;
Integrated Security=True;Connect Timeout=30;
User Instance=True");
همه ی این کد باید تو یه خط باشه


اما من الآن در کریستال ریپورت یه مشکل پیدا کردم که در پست بعد براتون میگم

zayens
جمعه 21 خرداد 1389, 13:20 عصر
تو پست قبل گفته بودم که یه مشکل برام پیش اومده
مشکلی که (در کریستال) برام پیش اومده را اگه کسی بلده لطفا بگه
مشکل از این قراره:

در همه ی گزارشاتم در کریستال لازم دارم تا از استورپرسیجر استفاده کنم که اونها را هم باید از طریق Database Expert وارد Database Fields کنم.
از آنجایی که فایل DataBase را به پروژه Add کردم این کار مشکلی نداره
لازم به ذکره که من در Database Expert از قسمت Project Data\ADO.NET DataSets استفاده کردم نه از قسمت Create New Connection/OLE DB ADO چرا که فایل دیتابیسم را به برنامه Add کردم

اما!!!!!!!!!!!

بعد از وارد کردن Stored Procedures در قسمت Parameter Fields چیزی وارد نمیشه؟
همانطور که میدانید پارامترها در کریستال به طریق زیر مقدار میگیرند.


c.SetParameterValue("@PARAMETER", EveryThings);
و در کریستال این مقدار باید به عنوان پارامتر به استوردپرسیجر فرستاده بشه.
اما اصلا در Parameter Fields هیچ پارامتری ایجاد نمیشه.
مگه نه اینکه وقتی استوردپرسیجری را به کریستال Expert کنیم باید پارامترهایی که از برنامه مقدار میگیرند در Parameter Fields خودبخود ایجاد بشه؟
اما از وقتی در Database Expert از قسمت Project Data\ADO.NET DataSets استفاده کردم نه از قسمت Create New Connection/OLE DB ADO دیگه پارامترها در Parameter Fields گذاشته نمیشه.
باید چی کار کنم. مشکل از چی میتونه باشه؟؟؟؟

zayens
یک شنبه 23 خرداد 1389, 10:11 صبح
انقدر تاپیک را بالا نگه میدارم که یه نفر جواب بده

حجتی نیا
یک شنبه 23 خرداد 1389, 11:42 صبح
نوع پارامترهایی که در کریستال گذاشتید با توابع همخوانی داره؟

zayens
یک شنبه 23 خرداد 1389, 11:56 صبح
نوع پارامترهایی که در کریستال گذاشتید با توابع همخوانی داره؟
من اصلا در Parameter Fields هیچ چیزی نذاشتم.
چرا که وقتی بوسیله ی Database Expert استورد پرسیجری را وارد میکنیم خود به خود باید پیارامترهایی که مقدار میگیرند را وارد Parameter Fields کنه.مگه نه؟

حجتی نیا
یک شنبه 23 خرداد 1389, 17:21 عصر
من اصلا در Parameter Fields هیچ چیزی نذاشتم.
یعنی در کریستال اصلا پارامتری تعریف نکردین؟

zayens
یک شنبه 23 خرداد 1389, 18:00 عصر
باید تعریف کنم؟
اون وقت اگه با کد زیر بهش مقدار بدم

c.SetParameterValue("@USERID", EveryThings);
مقدار مورد نظر به استورپرسیجر فرستاده میشه؟
فرض کنین این استورپرسیجری که در برنامه ام Add شده را در database Fields توسط database Expert قرار دادم


ALTER PROC UserDel
@USERID int
as
if(EXISTS(SELECT * FROM USERS WHERE USERID=@USERID))
BEGIN
delete from USERS where USERID=@USERID
end

اون وقت با دستوری که نوشتم به پارامتر USERID@ مقداری فرستاده میشه؟ و اون مقدار وارد استور پرسیجر فرستاده میشه؟
بعید میدونم
من قبلا که دیتابیسم را Add نکرده بودم و کانکشنم sql بود نیازی به ساخت پارامتر نداشتم و در database Fields توسط database Expert وقتی استورپرسیجری وارد میکردم خودش پارامتر را در Parameter Filds قرار میداد.

csharpprogramer88
یک شنبه 23 خرداد 1389, 21:20 عصر
من متاسفانه چيزي از استورد پروسجر نميدونم . ولي يه سوال شما در يك صفحه گزارش داريد از چند جدول استفاده ميكنيد يا نه از يك جدول
آدرس زير سري بزنيد
http://barnamenevis.org/forum/showthread.php?t=222749

حجتی نیا
یک شنبه 23 خرداد 1389, 22:48 عصر
اگه دقیقا بگی چکاری میخوای انجام بدی،بیشتر میتونم کمکت کنم (البته در حد توانم)

zayens
سه شنبه 25 خرداد 1389, 11:48 صبح
حجتی نیا:
اگه دقیقا بگی چکاری میخوای انجام بدی،بیشتر میتونم کمکت کنم (البته در حد توانم)
یه کار بسیار ساده:
ساخت گزارش با کریستال
البته طراحی کامل انجام شده فقط مونده اضافه کردن قسمت Database Fields
لطفا اگه ممکنه قدم به قدم توضیح بدید

البته یه مقدارش را میدونم. مثلا به این یکی توجه کنید:
ابتدا روی Database Fields کلیک راست می کنیم و Database Expert را انتحاب می کنیم.
خب تا اینجای کار را همه می دونن. مهم بقیه ی کاره که منو حسابی سردرگم کرده و باعث شده این همه پست و تاپیک بزنم.
حالا باید چی کار کنم؟
در قسمت Available Data Source کدوم را انتخاب کنم؟
? Project Datad ? -Current Connection? -Create New Connection... کدوم را؟
و چطور به دیتابیسم که الآن هم به پروژم Add کردم (با کانکشن استرینگ زیر) وصل کنم؟


"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\DBRESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;"

یه نکته که باید بدونید:
قبلا که دیتابیسم رابه پروژم Add نکرده بودم و کانکشنم این بود:


"Server=ZAYENS-PC\\MYSQLSERVER;database=RESTAURANT;Integrated Security=True;"

به طریق زیر وصل میشدم:
Create New Connection =>OLE DB (ADO) => Microsoft OLE DB Provider for SQL Server
و بعد در Server و DataBase به ترتیب ZAYENS-PC\MYSQLSERVER و RESTAURANT را میذاشتم و حالا Table و یا هر StoredProcedure که می خواستم را با دکمه ی |<| به Database Fields اضافه می کردم.
حالا با وجود این که دیتابیسم را در شاخه ی Bin\Bebug برنامه گذاشتم و اونو به پروژه Add کردم (مطابق کانکشن استرینگ اول که گذاشتم)چطور باید این مراحل را تکرار کنم؟

حجتی نیا
سه شنبه 25 خرداد 1389, 15:45 عصر
من از project data>ado.net dataset استفاده کردم و داره کار میکنه..البته connectionstring دیتاست هارو با connectionstring اصلی مطابقت دادم...

zayens
چهارشنبه 26 خرداد 1389, 10:27 صبح
من از project data>ado.net dataset استفاده کردم و داره کار میکنه
ممنون

البته connectionstring دیتاست هارو با connectionstring اصلی مطابقت دادم...
میشه توضیح بدید چطور اینکار را کردید؟

حجتی نیا
چهارشنبه 26 خرداد 1389, 11:45 صبح
میشه توضیح بدید چطور اینکار را کردید؟
از تو solutionexplore دیتاست رو باز کنین و رو tableadapter (ها) کلیک کنین و تو propertice>connection اونها connectionstring رو تنظیم کنین

zayens
پنج شنبه 27 خرداد 1389, 00:24 صبح
tableadapter را پیدا نکردم
بیشتر توضیح میدید؟

نه نه
پیدا کردم

فقط یه چیزی!
اجازه نمیده آدرس را دستی وارد کنم
وقتی هم New Connection را میزنم هم نمیشه، چون قبلا دیتابیسم Add شده.
و فقط دو گزینه می مونه:
DBRESTORANSConnectionString (Settings)1 که به صورت پیش فرض همین بود و
ClientDBRESTORANSConnectionString (Settings)2
حالا کدوم را باید انتخاب کنم؟

حجتی نیا
پنج شنبه 27 خرداد 1389, 08:45 صبح
فقط یه چیزی!
اجازه نمیده آدرس را دستی وارد کنم
وقتی هم New Connection را میزنم هم نمیشه، چون قبلا دیتابیسم Add شده.
و فقط دو گزینه می مونه:
DBRESTORANSConnectionString (Settings)1 که به صورت پیش فرض همین بود و
ClientDBRESTORANSConnectionString (Settings)2
حالا کدوم را باید انتخاب کنم؟
روی هرکدام که کلیک کنی،connectionstring اونو تو همون قسمت(connection>connectionstring) نشون میده،ببین کدوم یکی با connectionstr دیتابیس که add کردی مطابقت داره همونو انتخاب کن