PDA

View Full Version : مشکل در اتصال به دیتابیس



sadeghjun
شنبه 05 مرداد 1392, 02:44 صبح
سلام
من یه برنامه ساده واسه اتصال به دیتابیس نوشتم. ولی وقتی اونو اجرا میکنم ارور زیر رو میده.
من دیتابیس رو با Access ساختم. وقتی من در Properties در قسنت Build اون، Platform رو روی AnyCPU قرار میدم مشکل حل میشه! من میخوام از x86 باشه چون کامپوننت TAPIEx رو وقتی میذارم روی AnyCPU نمیخونه!!
اینم error:
107976

مشکل چیه؟؟
(البته سیستم من 64 بیتیه. و می خوام از کامپوننت TAPIEx هم استفاده منم)

کد برنامه:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Data.ACCDB;JET OLEDB:DATABASE PASSWORD=123456789;");

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
try
{

con.Open();
string d;
OleDbDataAdapter adap;
DataSet ds = new DataSet();
d = "select * from contact";
adap = new OleDbDataAdapter(d, con);
adap.Fill(ds, "contact");
{
OleDbCommand com = new OleDbCommand("select count(*)from contact", con);
OleDbCommand com2 = new OleDbCommand("select count(*)from groups", con);
label1.Text = Convert.ToString((int)com.ExecuteScalar()) + " نفر";
label2.Text = Convert.ToString((int)com2.ExecuteScalar()) + " گروه";
}
}
catch (Exception ex) { MessageBox.Show(ex.Message, "System Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}
}
}

a.ameri
شنبه 05 مرداد 1392, 09:12 صبح
نسخه آفیست رو چک کن ببین 64 یا 32 اگر 64 باشه فکر کنم برای همینه رو x86 که میزاری خطا میگیره با نسخه 32 آفیس فکر کنم مشکلت حل شه

danialafshari
شنبه 05 مرداد 1392, 09:45 صبح
سلام
برای این مورد باید آفیس هم نصب باشه روی سیستم مقصد
ولی اگر می خوای نیازی به نصب نباشه موقع ساختنن دیتابیس Browse بزن و از قسمت Save as Type گزینه Office 2003 ذخیره کنید که خروجی .mdb هست
موفق باشی

sadeghjun
شنبه 05 مرداد 1392, 13:24 عصر
سلام
برای این مورد باید آفیس هم نصب باشه روی سیستم مقصد
ولی اگر می خوای نیازی به نصب نباشه موقع ساختنن دیتابیس Browse بزن و از قسمت Save as Type گزینه Office 2003 ذخیره کنید که خروجی .mdb هست
موفق باشی

سلام
من از آفیس 2013 استفاده می کنم و چون سیستمم 64 بیتییه، آفیس هم 64 بیتیه.
کاری که شما کردی رو انجام دادم و با فرمت mdb ذخیره کردم اما حل نشد.

sadeghjun
شنبه 05 مرداد 1392, 13:31 عصر
احیانا به دلیل تعریف کانکشن من نیست??
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Data.mdb;JET OLEDB:DATABASE PASSWORD=123456789;");

نباید جور دیگه ای تعریف بشه؟؟