ورود

View Full Version : ارتباط c# , ORACLE



hamidshahram
یک شنبه 14 بهمن 1386, 20:54 عصر
با سلام خیلی فوری
من یک مشکلی دارم و اون اینه که می خوام از c# به اوراکل 11g وصل بشم چطور و از چه کلاس هایی باید استفاده کنم و اینکه آیا نرم افزار دیگری باید نصب کنم(مثلا یک رابط یا تولزی از خود شرکت ORACLE ) و اینکه چطور باید پایگاه داده رو بسازم
قابل توجه اینکه الان که از ویژوال استدیو دات نت که می خام وصل بشم پیغا "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater"
را به من می دهد
:ناراحت:

reza_rad
دوشنبه 15 بهمن 1386, 07:32 صبح
* Log on to Windwos as a user with Administrator privileges.
* Start Window Explorer and navigate to the ORACLE_HOME folder.
* Choose properties on the ORACLE_HOME folder.
* Click the “Security” tab of the “Properties” window.
* Click on “Authenticated Users” item in the “Name” list.
* Uncheck the “Read and Execute” box in the “Permissions” list under the “Allow” column.
* Re-check the “Read and Execute” box under the “Allow” column
* Click the “Advanced” button and in the “Permission Entries” verify that “Authenticated Users” are listed with permission = “Read & Execute”, and Apply To = “This folder, subfolders and files”. If not, edit that line and make sure that “Apply To” drop-down box is set to “This folder, subfolders and files”. This should already be set properly but it is important that you verify it.
* Click the “Ok” button until you close out all of the security properties windows. The cursor may present the hour glass for a few seconds as it applies the permissions you just changed to all subfolders and files.
* Reboot, to assure that the changes have taken effect.
منبع:
http://dotnetjunkies.com/WebLog/rtgurskevik/archive/2005/01/19/45958.aspx

aidin300
دوشنبه 15 بهمن 1386, 09:33 صبح
این تاپیک رو ببین مشکل در اجرا شدن برنامه (http://barnamenevis.org/forum/showthread.php?t=67361) و پست دوم این تاپیک رو هم ببین فراخوانی یک StoredProcedure که پارامترمی گیرد (http://barnamenevis.org/forum/showpost.php?p=392944)

hamidshahram
دوشنبه 15 بهمن 1386, 12:32 عصر
با سلام مشکل من حل نشد
ابتدا مشکل اصلی ام رو بگم و اون اینکه علت اصلی که می خوام از ORACLE استفاده کنم اینکه می خوام از ORACLE TEXT استفاده کنم چون می خوام متن های صفحات html رو توی پایگاه داده ریخته و سپس به صورت متنی در اون جستجو کنم از Sql sever استفاده نمی کنم چون سرعت اون واقعا کنده و سرعت جستجو و برای پروژه ای که من می خواهم استفاده کنم و حجم داده ها بسیار بالا است حالا نمی دونم ORACLE TEXT چقدر از اون قویتره لطفا ابتدا این رو جواب داده(راستی در مورد مقایسه ORACLE TEXT و LUCENE.NET نیز یک توضیح بدهید که کدوم قویتره برای سرعت جستجو)-قسمت بعدی اینه که حالا می خواهم با ویژوال استدیوبه اوراکل 11g وصل بشم 2 سال پیش من اوراکل 9i رو از یکی از دوستام گرفتم و با ویژوال استدیو به راحتی به اون وصل شدم (آن زمان fat32 بود ولی حالا ntfs است)حالا اواکل 11g را از سایت اوراکل دانلود کردم و نصب کردم ولی نمی تونم با c# به اون وصل بشم سوالی که دارم اینکه اول من این نسخه رو که نصب کردم و دیتابیس اون رو از سایت اوراکل گرفتم آیا باید tools های کنار اون مثل oracle client و gateway و.. رو بگیرم که قسمت Enterprise Manager رو داشته باشم یا اینکه این را اشتباه است و باید نسخه کرک شده بگیرم لطفا به تمام سوالات پاسخ بدهیدو اینکه دقیقا با c# چطور به اون وصل بشم:ناراحت:

aidin300
دوشنبه 15 بهمن 1386, 20:26 عصر
چون گفتی C# فرض رو می ذارم رو اینکه می خوای برنامه رو به صورت WinForm و Client-Server بنویسی پس برای سمت Server باید اوراکل نسخه Database Server رو بگیری و Option هایی که قصد داری بعدا استفاده کنی مثل(Oracle Text) نصب کنی بعد از اون پایگاه داده روبا ابزار DBCA ایجاد کنی برای نصب سمت Client هم نسخهClient اوراکل رو تهیه کن که برای پیکربندی سمت Client و همین طور انتخاب درایور مناسب دوباره یه نگاهی به لینک های پست 3 بنداز.
سوال بعدی هم اینکه برای دسترسی به ابزار Oracle Enterprise Manager می تونی آدرسی مثل زیر رو تو مرورگر وارد کنی
http[s]://your_database_server_name:1158/em و یا از ابزارهای معرفی شده تو این تاپیک آیا نرم افزار enterprise manager مانند Sqlserver وجود داره؟ (http://barnamenevis.org/forum/showthread.php?t=82289) استفاده کن

و قراره چه داده هایی رو ذخیره کنید؟

hamidshahram
سه شنبه 16 بهمن 1386, 19:23 عصر
با سلام
ممنون از راهنمایی شما ولی شما به تمام سوالات من پاسخ ندادید اینکه آیا Lucene بهتره یا ORACLE TEXT و اینکه با توجه به راهنمایی شما بهترین ابزار برای مدیریت پایگاه داده اوراکل همون Oracle sql develper است که واقعا عالیه.حالا من تونستم از طریق c# به اوراکل وصل بشم ولی مشکلی دیگه ای که برام پیش اومد این بود که بعد از ساختن Index روی یک جدول و عمل جستجو هیچ مشکلی ندارم ولی اونی که برام مهمه اینه که بعد از هر update در اون جدول باید ایندکس هم update بشه و توی نتایج جستجو بیاد مثلا زمانی که یک رکورد جدید(شامل محتوای یک فایل Html)رو به جدول اضافه کردم و سپس کوئری گرفتم توی نتایج جستجو نیامد خود سایت اوراکل گفته بود برای ایندکس انلاین باید از دستور زیر استفاده کنید:
;('EXEC CTX_DDL.SYNC_INDEX('idx_docs', '2M
ولی علنا این دستور فکر کنم کار نمی کنه ولی جالبه موقعی که حذف می کنم کار می کنه و جالبه که چرا موقع اضافه کردن درست کار نمی کنه:
منظورم اینه آیا باید بعد از هر اضافه کردن این دستور رو فراخونی کرد یا نه چون اگر بعد از هر insert کردن اونه فراخونی کنم مشکلی نداره ولی اگر همون اول یک بار فراخونی کنم و بعد از اون insert کنم دیگه رکوردهایی که بعد از فراخونی اون اضافه میشند دیگه اندکس نمی شن مگه اینکه اون رو دوباره فراخونی کنم آیا باید هر بار فاخونی کنم یا نه و اینکه راه حل اساسی چیه؟آیا باید job تعریف کنیم و چطور؟
در زیر مراحل کاری رو که انجام دادم می نویسم:

آدرس : http://download.oracle.com/docs/cd/B28359_01/text.111/b28303/quicktour.htm

حالا اگه ممکنه به من کمک کنید متشکرم:ناراحت:

hamidshahram
چهارشنبه 17 بهمن 1386, 16:59 عصر
با سلام
کسی نیست که به من جواب بده ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:اشتباه:

hamidshahram
شنبه 20 بهمن 1386, 17:15 عصر
با سلام
ببخشید با اون آدرسی که قبلا دادید (http://localhost:1158/em)خیلی راحت می تونستم پایگاعه داده رو مدیریت کنم ولی الان یک پیغام خطا می ده و پایگاه داده رو باز نمی کنه
خطای اون اینه :
Enterprise Manager is not able to connect to the database instance. The state of the components are listed below.

Database Instance Status Open Host xxxx Port 1521 SID xxxx Oracle Home E:\ORACLE_INSTALLEED\product\11.1.0\db_1 Details The instance is open. Listener Status Up Host xxxx Port 1521 Name LISTENER Oracle Home E:\ORACLE_INSTALLEED\product\11.1.0\db_1 Location E:\ORACLE_INSTALLEED\product\11.1.0\db_1\network\a dmin Details
باید چکار کنم؟
سوالی دیگه ای که دارم اینه که Oracle 10g grid چیه و آیا با enterprise manager فرق می کنه و باید اونو دانلود کنم و با 11g هم کار می کنه یا نه؟

hamidshahram
یک شنبه 28 بهمن 1386, 18:50 عصر
با سلام
من منتظر جواب هستم

saeidgab
پنج شنبه 09 خرداد 1387, 14:28 عصر
چون من هم در ارتباط با کار با اوراکل تو سی شارپ مشکل داشتم میخوام کمکت کنم.
برای این کار فقط نسخه oracle database 11g نیاز هست.
در برنامه مورد نظر در سی شارپ این خطوط را اضافه کن:

using System.data;
using System.data.oracleclient;
حالا میتونی به شکل زیر با اوراکل ارتباط برقرار کنی و اطلاعات یک جدول رو در datagrid نمایش بدی :

OracleConnection con = newOracleConnection("user id=system;password=****;data source=orcl");
con.Open();
OracleDataAdapter da = newOracleDataAdapter();
da.SelectCommand = newOracleCommand();
da.SelectCommand.Connection = con;
da.SelectCommand.CommandText = "select * from table";
da.SelectCommand.ExecuteNonQuery();
DataSet ds = newDataSet();
da.Fill(ds,"table");
datagrid.DataSource = ds;
datagrid.DataMember = "table";

در connectionstring به جای orcl نام دیتابیس رو بنویس.

ssaeeds
سه شنبه 14 خرداد 1387, 22:37 عصر
http://www.oracle.com/technology/pub/articles/cook_dotnet.html

hamidshahram
دوشنبه 14 اردیبهشت 1388, 10:39 صبح
ممنونم خيلي طلايي جوابتون عالي بود انشاالله جبران كنم