الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية ربط ORCALE E-BUSINUSS SUITE مع سي شارب

بدأه KJLQ8 في 12 مارس 2010 · 3 رد · 522 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي مشكلة في ربط اوركل مع برنامجي لانتاج التقارير انا اعرف ان ربط السكوال سيرفر 2008 سهل جدا و يحتاج الى سطر واحد لكن لما قراءة كتاب عن الربط اكتشفت بانه لا يفيدني كون السيرفر بعيد و الكتاب مبني على اساس ان السيرفر في نفس الجهاز

ارجو منكم مساعدتي

و لكم جزيل الشكر

تم تعديل هذه المشاركة بواسطة KJLQ8 في 12 مارس 2010 في 03:55

#2

لا يوجد فرق اذا كان السيرفر بعيد أو قريب, فأنت تحدد مكان السيرفر في الConnection String عن طريق اسمه أو الIP

بالنسبة لقواعد بيانات Oracle فيفضل استخدام ODP من Oracle

http://www.oracle.com/technology/tech/windows/odpnet/index.html

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#3

public class DLApplication

{

private const String My_name = " DLApplication : ";

private static String m_sConStr = "SERVER=Crisi;USER ID=MyUser;PWD=pp1";

private int userId;

public int propertyUserId

{

get

{

return userId;

}

set

{

userId = value;

}

}

public OracleConnection GetCon()

{

try

{

OracleConnection sqlcon = new OracleConnection(m_sConStr);

return sqlcon;

}

catch (Exception ex)

{

throw new System.ApplicationException(My_name + " GetCon: " + ex.Message);

}

}

public OracleDataReader GetSqlReader(String Sql, ref OracleConnection con)

{

try

{

OracleCommand objOraCmd = new OracleCommand();

OracleDataReader objOraDrRead;

objOraCmd.Connection = con;

objOraCmd.CommandType = CommandType.Text;

objOraCmd.CommandText = Sql;

if (con.State != ConnectionState.Open) con.Open();

objOraDrRead = objOraCmd.ExecuteReader(CommandBehavior.CloseConnection);

return objOraDrRead;

}

catch (Exception ex)

{

throw new System.ApplicationException(My_name + " GetSqlReader: " + ex.Message);

}

}

public void CloseCon(ref OracleConnection thisCon)

{

try

{

if (thisCon.State != ConnectionState.Closed)

thisCon.Close();

}

catch (Exception ex)

{

throw new System.ApplicationException(My_name + " CloseCon: " + ex.Message);

}

}

public void ExecNonQuery(String sQuery)

{

OracleConnection objCon = new OracleConnection(m_sConStr);

OracleCommand objCmd;

try

{

objCon.Open();

objCmd = objCon.CreateCommand();

objCmd.CommandText = sQuery;

objCmd.ExecuteNonQuery();

}

catch (Exception ex)

{

throw new System.ApplicationException(My_name + " ExecNonQuery : " + ex.Message);

}

finally

{

if (objCon.State == ConnectionState.Open)

objCon.Close();

}

}

public DataView getDataView(String Query, OracleConnection Conn)

{

try

{

OracleDataAdapter oDa;

DataSet ds;

oDa = new OracleDataAdapter(Query, Conn);

ds = new DataSet();

oDa.Fill(ds);

if (Conn.State != ConnectionState.Closed)

Conn.Close();

return (ds.Tables[0].DefaultView);

}

catch (Exception ex)

{

throw new System.ApplicationException(My_name + " getDataView : " + ex.Message);

}

finally

{

if (Conn.State != ConnectionState.Closed)

Conn.Close();

}

}

}

انا جربت هذا الكود الي من الاول بس ودي برنامج معمول بالدوت نت يربط مع ترانزاكشن لها اذا ممكن

#4

جربت هذا الكود بس ما نفع معي

public static string Connection()

{

try

{

string oradb = "Data Source=XE;User Id=hr;Password=hr;";

conn = new OracleConnection(oradb);

conn.Open();

}

catch (OracleException e)

{

return e.Message;

}

return conn.State.ToString();

}

مواضيع مشابهة