рдкрд╣реБрдБрдЪ Oracle рдбреЗрдЯрд╛рдмреЗрд╕ ADO.NET рдЗрдХрд╛рдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░


рд╢реБрдн рджрд┐рдиред

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рд░рд▓ рдирд┐рдпрдо, рдХрдо рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдШрдЯрдХреЛрдВ, рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ, рдПрдХ рд╡рд┐рдХрд╛рд╕рд╢реАрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ, рдмреЗрд╣рддрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддрд╛ рдерд╛ред рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЪреБрдирдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд╕рд╛рде рд╡рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬ рдлреЙрд░реНрдореНрд╕ + ODAC + Oracle DB рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд┐рд▓рд╛ред

Microsoft рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ LINQ рд╕реЗ рдПрдВрдЯрд┐рдЯреАрдЬрд╝ (рдмреАрдЯрд╛) рдХреЗ рд▓рд┐рдП Oracle рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ (ODAC) рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдХрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реБрдИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд▓ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рдерд╛ рдФрд░ рдЕрдм рдпрд╣ рд╣реБрдЖ! рдЖрдк рддреГрддреАрдп-рдкрдХреНрд╖ ORM рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рд╕рдм рдХреБрдЫ рдЯрд░реНрдирдХреА рд╣реИред

рдПрдВрдб рдорд╢реАрдиреЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдУрдбреАрдПрд╕реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреИрд╕реЗ рд╕рд┐рдЦрд╛рдирд╛ рд╣реИ, рдпрд╣ рдУрд░реЗрдХрд▓ рдХреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорд╢реАрдиреЛрдВ рдкрд░ рдУрд░реЗрдХрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдкреВрдЫрддрд╛ рд╣реВрдВред

рд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ



рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП:
  1. OS MS Windows XP SP3 рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реИ
  2. Microsoft .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4
  3. рд╡реИрдХрд▓реНрдкрд┐рдХ ~ 135 рдПрдордмреА рдореБрдХреНрдд рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди

рдбреЗрд╡рд▓рдкрд░ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП:
  1. рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рд╕рд░реНрд╡рд┐рд╕ рдкреИрдХ 1
  2. Oracle рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ 9.2 рдпрд╛ рдЙрдЪреНрдЪрддрд░
  3. Microsoft рдЗрдХрд╛рдИ рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдФрд░ LINQ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП ODAC


рдкреНрд▓рдЧрдЗрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА

рдУрд░реЗрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ ODAC.NET рдкреИрдХреЗрдЬ рд╕реЗ рдирд┐рдореНрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рд▓рд╛рдЗрдмреНрд░реЗрд░реА "рдХреНрд▓рд╛рдЗрдВрдЯ рдкрде" \ рдХреНрд▓рд╛рдЗрдВрдЯ_1 \ odp.net \ bin \ 4 \ Oracle.DataAccess.dll (рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ ~ 1.4 рдПрдордмреА) рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ " рд╕реНрдерд╛рдиреАрдп " рд╕рдВрдкрддреНрддрд┐ рдХреЛ " рд╕рд╣реА " рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдФрд░ " рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ " рдЧреБрдг рдХреЛ " рдпрджрд┐ рдирдпрд╛ рд╣реИ рддреЛ рдХреЙрдкреА рдХрд░реЗрдВ " рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ tnsnames.ora рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЬреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд = (рд╡рд┐рд╡рд░рдг = (ADDRESS_LIST = (ADDRESS = = PROTOCOL = TCP) (HOST = ServerNameOrIP) (рдкреЛрд░реНрдЯ = рдкреЛрд░реНрдЯрдирдВрдмрд░)) (CONNECT__ATA = (SERVICE_NAME = DBName))); рдкреНрд░рдпреЛрдХреНрддрд╛ рдЖрдИрдбреА = UserName; рдкрд╛рд╕рд╡рд░реНрдб = UserPa $ $ w0rd;

рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдорд╢реАрди рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
private bool TestConnect()
{
try
{
var oracleConnection = new OracleConnection
{
ConnectionString =
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User Id=UserName;Password=UserPa$$w0rd;"
};
oracleConnection.Open();
var oracleCommand = new OracleCommand
{
CommandText = "select sysdate from dual" ,
Connection = oracleConnection,
Transaction = null
};
var oracleDataAdapter = new OracleDataAdapter {SelectCommand = oracleCommand};
var sysDateDataSet = new DataSet( "SomeName" );
oracleDataAdapter.Fill(sysDateDataSet, "dateTimeTable" );
return sysDateDataSet.Tables[0].Rows.Count > 0;
}
catch (Exception exx)
{
MessageBox.Show( string .Format( "Could not connect directly to an Oracle database: \n {0}" , exx.Message));
return false ;
}

* This source code was highlighted with Source Code Highlighter .

рдУрд░реЗрдХрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдкрдХреЛ рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдпрд╛ рддреЛ рдЕрдкрдиреЗ ADO.NET рдЗрдХрд╛рдИ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдмрдирд╛рдПрдБ, рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, "HREntities" рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде "HRModel"ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Add рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд Oracle рдореИрдиреБрдЕрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рдУрд░реЗрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рд▓рд╛рдЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ (App.Config / Web.Config) рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рдПрдЧреА (рдпрджрд┐ рдЖрдк рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдВ рдЗрд╕ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ):
< add name ="HREntities" connectionString ="metadata=res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl;provider=Oracle.DataAccess.Client;provider connection string="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User Id=UserName;Password=UserPa$$w0rd;"" providerName ="System.Data.EntityClient" />

рдпрд╣рд╛рдВ рдпрд╣ рдЗрд╕ рддрдереНрдп рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ " рдкреНрд░рджрд╛рддрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ " рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдп рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдФрд░ _q_u_o_t рдХреЛрдб рдЙрдиреНрд╣реЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рднреА рд╣реИ рдХрд┐ рдЬрдм рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рддреЗ рд╣реИрдВред

рдлрд┐рд░, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рдЕрдиреБрднрд╛рдЧ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдПрдХ рд╕реВрдЪреА "% windir% \ Microsoft.NET \ рдлреНрд░реЗрдорд╡рд░реНрдХ \ v4.0.30319 \ config" machine.config "рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИред" рдпрджрд┐ ODAC рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ "Oracle.DataAccess.Client" рдкреНрд░рджрд╛рддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдЧрд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рд╣рдорд╛рд░реЗ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛: "system.data: Column 'InvariantName 'рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд╢ рд╣реИред рдорд╛рди 'Oracle.DataAccess.Client' рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред "

рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
< рдирд┐рдХрд╛рд▓реЗрдВ invariant = "Oracle.DataAccess.Client" />
Oracle.DataAccess.Client рдкреНрд░рджрд╛рддрд╛ рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлрд┐рд░ рд╣рдо рдЕрдкрдиреЗ рд╕рдкреНрд▓рд╛рдпрд░ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрдВрдЬреАрдХреГрдд EntityClient рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛:
< system.data >
< DbProviderFactories > <br> < remove invariant ="Oracle.DataAccess.Client" />
< add name ="Oracle.DataAccess.Client" invariant ="Oracle.DataAccess.Client" description ="Oracle Data Provider for .NET" type ="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.2.40, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</ DbProviderFactories >
</ system.data >


рдмреНрдпреЛрд░рд╛

рдЬрдм рдПрдордПрд╕ рд╕реЗ "рд╕рд╣реА" рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ EntityConnectionStringBuilder рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдХрд╛рдлреА рд╕рд╣реА рдЧрдарди рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
string providerName = "Oracle.DataAccess.Client" ;
string dataSourse = (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User Id=UserName;Password=UserPa$$w0rd;тАЭ;
var sqlBuilder =
new SqlConnectionStringBuilder
{
DataSource = dataSourse
};
string providerString = sqlBuilder.ToString();
var entityBuilder =
new EntityConnectionStringBuilder
{
Provider = providerName,
ProviderConnectionString = providerString,
Metadata =
@"res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl"
};
using ( var conn =
new EntityConnection(entityBuilder.ToString()))
{
conn.Open();
Console .WriteLine( "Just testing the connection." );
conn.Close();
}

* This source code was highlighted with Source Code Highlighter .

рдирддреАрдЬрддрди, UnitBuilder.ToString () рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдХрд▓ рдЙрджреНрдзрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓реМрдЯрд╛ рджреЗрдЧрд╛, рдЬреЛ рдкреНрд░рджрд╛рддрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрд▓рдЧреНрди рдХрд░рддрд╛ рд╣реИ
metadata=тАж;provider=Oracle.DataAccess.Client;provider connection string= ' Data Source= \" (DESCRIPTION=(тАж ); User Id=UserName;Password=UserPa$$w0rd; \"'

рдЬрдмрдХрд┐ Oracle рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
metadata=тАж;provider=Oracle.DataAccess.Client;provider connection string= \" Data Source=(DESCRIPTION(тАж); User Id=UserName;Password=UserPa$$w0rd; \"

- рдЕрдиреНрдпрдерд╛ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред
рдЬрдм рдЖрдк рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрджрд╕реВрд░рдд рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
private bool DynamicConnect()
{
const string providerName = "Oracle.DataAccess.Client" ;
const string serverName = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User Id=UserName;Password=UserPa$$w0rd;" ;
const string metadata = "metadata=res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl" ;
var entBild = string .Format( "metadata={0};provider={1};provider connection string=\"Data Source={2}\";" , metadata, providerName, serverName);
try
{
var conn = new EntityConnection(entBild);
conn.Open();
var hrEntities = new HREntities(conn);
var tmpResult = hrEntities.BRIDGE.Count();
conn.Close();
return true ;
}
catch (Exception exx)
{
MessageBox.Show( string .Format( "Could not connect directly to an Oracle database: \n {0}" , exx.Message));
return false ;
}
}


* This source code was highlighted with Source Code Highlighter .

рд╢рд╛рдпрдж рдпрд╣ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЧреВрдБрдЬ рд╣реИ - рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдХреИрд╕рд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рдУрд░реЗрдХрд▓ рдХреЗ рд╡рд╛рджреЗ рдХреЗ рд░реВрдк рдореЗрдВ, 2011 рдХреА рдЪреМрдереА рддрд┐рдорд╛рд╣реА рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:


рджрд╛рдпрд┐рддреНрд╡ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, Microsoft рдЗрдХрд╛рдИ рдлреНрд░реЗрдорд╡рд░реНрдХ + рдУрд░реЗрдХрд▓ рдмрдирд╛рдо System.Data.SqlClient + MS SQL рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП ODAC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХреА рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред

рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╡рд┐рд╖рдп рдкрд░ рд╕реНрд░реЛрддреЛрдВ рдХреА рд╕реВрдЪреА:

Source: https://habr.com/ru/post/In127603/


All Articles