PDA

View Full Version : كانكت شدن به Database Access در ويندوز ويستا



(سیدشریفی)
شنبه 12 مرداد 1387, 17:00 عصر
با سلام
من با كد زير در ويندوز ويستا ميخواهم به يك ديتابيس اكسس كانكت شوم ولي امكان پذير نميباشد در ضمن ويستاي من 64 بيتي ميباشد همچنين با همين كد در ويندوز ايكس پي اصلا مشكلي وجود ندارد لطفا راهنمايي كنيد


Dim My_DS_1 As DataSet
Dim My_DA_1 As System.Data.OleDb.OleDbDataAdapter
Dim My_CurrentRow_1 As Long
Dim My_TotalRows_1 As Long
Dim My_Comp As Integer
Dim My_StrConnectionString_1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & M_My_App_Path & "\Data\FileName.mdb;" & "Jet OLEDB:Database Password=123456789"
Dim My_Conn_1 As New System.Data.OleDb.OleDbConnection(My_StrConnection String_1)
Dim My_CB_1 As System.Data.OleDb.OleDbCommandBuilder
My_Conn_1.Open()

reza6384
شنبه 12 مرداد 1387, 17:12 عصر
من دقیقا نمی دونم. اما احتمال زیاد می دم که مشکل از ConnectionString باشه. این رو تست کنید. بک DataGridView روی فرم بذارید و از قسمت DataSource گزینه Add Project Data Source رو اتخاب کنید. بعدش Provider و فایل رو انتخاب کنید و User , Password هم بدین ببینید اولا TestConnection درست عمل می کنه. ثانیا باید این Provider روی ویندوز ویستای شما موجود باشه ، یعنی Microsoft Access رو نصب کرده باشید.

__H2__
یک شنبه 13 مرداد 1387, 00:08 صبح
سلام
بحرحال مشکل از ConnectionString است.
نمیخواهم بگویم از این است ولی بخش زیر را هم به آن اضافه کنید و مجدداً تستی کنید


;Persist Security Info=False;

حواستان باشد،
1- رمز عبور صحیح باشد.
2- M_My_App_Path اسلش اضافه ای در انتهایش نداشته باشد
3- اگر UAC در ویستا فعال باشد، میتواند موجب مشکلات در کانکت شدن های SQLServer شود، شاید برای Jet هم دردسرساز شود.

(سیدشریفی)
یک شنبه 13 مرداد 1387, 16:59 عصر
با تشکر از شما دوستان گرامی

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


جناب h2 گفته بودید UAC اگر فعال باشد ....
چگونه و از کجا باید آن را غیرفعال کنم
با تشکر

reza6384
یک شنبه 13 مرداد 1387, 21:10 عصر
من طبق گفته شما عمل کردم و جواب زیر را دریافت نمودم همچنین اکسس هم نصب میباشد

با تشکر

خوب دیگه، حله. حالا بعد از اینکه دیدید نوشته Test Connection Succeed ، بعد از بستن پنجره قبل از اینکه دکمه Next رو بزنید اون دکمه + کنار Connection String رو بزنید و
Connection String رو کپی کنید و از اون توی برنامتون استفاده کنید

__H2__
دوشنبه 14 مرداد 1387, 01:45 صبح
سلام


جناب h2 گفته بودید UAC اگر فعال باشد .... چگونه و از کجا باید آن را غیرفعال کنم

با تصویری که گذاشتید و همان طور که کاربر reza6384 گفتند، مشکلتان حل است و ربطی به UAC نداشته.

(سیدشریفی)
دوشنبه 28 مرداد 1387, 18:40 عصر
ببخشید دیر جواب دادم داشتم سیستممو تعویض میکردم خیلی طول کشید
Connection Strin که گفتید کپی کنم دقیقا همانی است که در برنامه استفاده کرده ام و نمیدانم مشکل از کجاست ؟

seeker
دوشنبه 28 مرداد 1387, 19:17 عصر
دوست عزیز باید برنامت رو 32 بیتی کامپایل کنی به این صورت که روی my project در قسمت solution explorer دبل کلیک کن. بعد در پنجره باز شده در تب compile یک باتن بزرگ هست به اسم advanced compile option روی او کلیک کن و آخرین گزینه که target cpu هست رو x86 انتخاب کن.
تنها راه حل

(سیدشریفی)
سه شنبه 29 مرداد 1387, 09:15 صبح
با تشکر از شما جناب seeker
با این کار مشکل من حل شد
حال اگر این کار را انجام دهم و برنامه را در حالت 32 بیتی کمپایل کنم آیا بعد از نصب برنامه در ویندوز ویستا 64 بیتی برنامه کار خواهد کرد ؟

با تشکر

seeker
سه شنبه 29 مرداد 1387, 12:49 عصر
سیستم عامل های 64 بیتی نرم افزار های 32 بیتی و 64 را ساپورت میکنند اما سیستم عامل های 32 بیتی فقط نرم افزار های 32 بیتی را ساپورت میکنند. بنا بر این اگر نرم افزار شما به صورت 32 بیت کامپایل شود هیچ مشکلی با هیچ سیستم عاملی نخواهی داشت. اما اگر 64 بیتی کامپایل بشه فقط در او اس های 64 بیتی کار میکنه.

(سیدشریفی)
سه شنبه 29 مرداد 1387, 17:29 عصر
ممنون از راهنماييهايتان
و همچنين ممنون از راهنماييهاي تمامي دوستان

با تشكر