PDA

View Full Version : سوال: ارور هنگام وصل شدن به بانک اطلاعاتی



forodo
شنبه 26 مرداد 1392, 19:27 عصر
من کد زیر رو نوشتم ولی هنگام اجرا ارور می دهد.

private void GetTableInformation()
{
try
{
OleDbConnection objconnection =
new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Database1.accdb");
OleDbDataAdapter objDataAdapter = new OleDbDataAdapter();
DataSet objDataSet = new DataSet();

objDataAdapter.SelectCommand = new OleDbCommand();
objDataAdapter.SelectCommand.Connection = objconnection;

objDataAdapter.SelectCommand.CommandText =
@"SELECT ID, EmailName, DateDate
FROM tblResume";

objDataAdapter.SelectCommand.CommandType = CommandType.Text;

objconnection.Open();
objDataAdapter.Fill(objDataSet, "tblResume");
objconnection.Close();

dgvResume.DataSource = objDataSet.Tables["tblResume"];
dgvResume.Columns["ID"].Visible = false;
dgvResume.Columns["EmailName"].HeaderText = "ایمیل";
dgvResume.Columns["EmailName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dgvResume.Columns["DateDate"].HeaderText = "تاریخ ارسال";
dgvResume.Columns["DateDate"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
catch (Exception)
{

}
}

به برک پوینت برای catch می ذارم که وقتی F11 رو می زنم این ارور رو نشون می ده:
Unrecognized database format 'E:\Programming\Resume\Resume\bin\Debug\Database1. accdb'.
حتی این دوتا سایت باحالم دارم که همه کانکشنارو نوشته ولی بازم نشد.
اولی (http://www.connectionstrings.com/access/)
دومی (http://www.dofactory.com/Connect/Connect.aspx#_self15)

parvizwpf
شنبه 26 مرداد 1392, 19:46 عصر
اینطوری تست کنید:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\marcelo.accdb;Jet OLEDB:Database Password=MyDbPassword;"

forodo
شنبه 26 مرداد 1392, 20:59 عصر
اینطوری تست کنید:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\marcelo.accdb;Jet OLEDB:Database Password=MyDbPassword;"
دیتابیس من پسورد نداره ولی هم با پسورد و هم بدون پسور گذاشتم ولی نشد.
اینطوری نوشتم نشد.
در اصل می خوام دیتابیس رو کنار فایل EXE برنامه بزارم و نیازی به آدرس دهی نباشه.
اونطوری که شما گفتید رو نوشتم ولی بازم نشد:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\\Programming\\Resume\\Resume\\bin\\Debug \\Database1.accdb;"

این ارور رو می ده:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

mahdi_7610
شنبه 26 مرداد 1392, 21:09 عصر
این مشکل از 64 بیت و 32 بیتی بودن افیس هستش.

نسخه 64 بیت را نصب کنید حل میشه.

forodo
شنبه 26 مرداد 1392, 21:22 عصر
این مشکل از 64 بیت و 32 بیتی بودن افیس هستش.

نسخه 64 بیت را نصب کنید حل میشه.
من اینجوری نوشتم:

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\\Database1.accdb"

و این ارور رو می ده برای چیه؟

Unrecognized database format 'E:\Programming\Resume\Resume\bin\Debug\Database1. accdb'.

لطفاً یه راه حل برای همین آفیس 32 بیتم بگید تا بعداً عوضش کنم.

forodo
شنبه 26 مرداد 1392, 22:00 عصر
یکی به دادم برسه
اول کار گیر کردم.

danialafshari
شنبه 26 مرداد 1392, 22:26 عصر
سلام دوست عزیز
برنامه ای که من نوشتم فایل access رو با پسوند mdb و روی office 2003 ذخیره کردم و روی 32 و 64 داره به خوبی کار می کنه

forodo
شنبه 26 مرداد 1392, 22:34 عصر
سلام دوست عزیز
برنامه ای که من نوشتم فایل access رو با پسوند mdb و روی office 2003 ذخیره کردم و روی 32 و 64 داره به خوبی کار می کنه
یک سوال و یک خواهش.
پسوند mdb چطور ساخته می شود چون حتی من save as هم زدم فقط با پسوند accdb ذخیره می کنه. آفیس من 2010 هستش.
خواهش می کنم آدرس کانکشنی که استفاده کردید رو قرار دهید تا من اون رو تست کنم.
با تشکر

danialafshari
شنبه 26 مرداد 1392, 22:49 عصر
سلام
قبلا در تاپیکی دیگه قرار دادم دوباره میذارم
کانکشن:
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:\MyProgram\mydb.mdb'");

آفیس 2003:
روی عکس فولدر کلیک کردم

forodo
شنبه 26 مرداد 1392, 23:09 عصر
سلام
قبلا در تاپیکی دیگه قرار دادم دوباره میذارم
کانکشن:
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:\MyProgram\mydb.mdb'");

آفیس 2003:
روی عکس فولدر کلیک کردم
خدا خیرت بده.
هم کارم راه افتاد که اینطوری نوشتم که هرجا exe برنامه بود دیتابیس هم همونجا باشه دیگه مشکلی وجود نداشته باشه:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Database3.mdb"

هم ساختن پسوند mdb رو یاد گرفتم.
می تونید بگید که اون ارور اول برای چی هستش؟ یعنی باید پسوندی که در کانشکن گذاشته می شه فقط mdb باشه و از accdb ایراد می گیره یا چیز دیگیه؟

بعد یه سوال هم داشتم.
شما که جزو مدیرا هستی می تونید به من بگید من چطوری می تونم اون تاپیکایی که خودم ساختم رو همه شونو پیدا کنم؟
بازم فراوان ممنون

danialafshari
شنبه 26 مرداد 1392, 23:24 عصر
سلام

خدا خیرت بده.
خواهش می کنم

می تونید بگید که اون ارور اول برای چی هستش؟ یعنی باید پسوندی که در کانشکن گذاشته می شه فقط mdb باشه و از accdb ایراد می گیره یا چیز دیگیه؟
من کلا accdb کار نمی کنم ولی تا اونجایی که می دونم باید روی سیستم مقصد هم engine ش باید باشه

بعد یه سوال هم داشتم.
شما که جزو مدیرا هستی می تونید به من بگید من چطوری می تونم اون تاپیکایی که خودم ساختم رو همه شونو پیدا کنم؟
والا مشکلی پیش اومده برای پست های ارسالی که آپدیت نمیشن در تالار مدیران هم مطرح کردم ولی متاسفانه جوابی نگرفتم ولی بازم پیگیر میشم
موفق باشی