Oracle

parent ea50492b
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
using Oracle.ManagedDataAccess.Client;
using System; using System;
using System.Collections.Generic;
using System.Data; using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Text;
namespace Performance.Repository namespace Performance.Repository
{ {
...@@ -26,6 +25,8 @@ public static IDbConnection Create(DatabaseType type, string connectionString) ...@@ -26,6 +25,8 @@ public static IDbConnection Create(DatabaseType type, string connectionString)
return new MySqlConnection(connectionString); return new MySqlConnection(connectionString);
case DatabaseType.SqlServer: case DatabaseType.SqlServer:
return new SqlConnection(connectionString); return new SqlConnection(connectionString);
case DatabaseType.Oracle:
return new OracleConnection(connectionString);
default: default:
throw new Exception($"nonsupport {DatabaseType.MySql}"); throw new Exception($"nonsupport {DatabaseType.MySql}");
} }
...@@ -51,6 +52,9 @@ public static string GetConnectionString(DatabaseType type, string ip, string da ...@@ -51,6 +52,9 @@ public static string GetConnectionString(DatabaseType type, string ip, string da
case DatabaseType.SqlServer: case DatabaseType.SqlServer:
connectionString = $"data source={ip};initial catalog={database};user id={uid};password={pwd};connection timeout=12000;"; connectionString = $"data source={ip};initial catalog={database};user id={uid};password={pwd};connection timeout=12000;";
break; break;
case DatabaseType.Oracle:
connectionString = $"Password={pwd};User ID={uid};Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={ip})(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME={database})));";
break;
default: default:
throw new Exception($"nonsupport {DatabaseType.MySql}"); throw new Exception($"nonsupport {DatabaseType.MySql}");
} }
......
...@@ -7,6 +7,7 @@ namespace Performance.Repository ...@@ -7,6 +7,7 @@ namespace Performance.Repository
public enum DatabaseType public enum DatabaseType
{ {
MySql, MySql,
SqlServer SqlServer,
Oracle
} }
} }
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" />
<PackageReference Include="MySql.Data" Version="8.0.15" /> <PackageReference Include="MySql.Data" Version="8.0.15" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.15" /> <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.15" />
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="2.19.60" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment