private static Result OnQuery() { var columns = new List <string>(); var rows = new List <string[]>(); var types = new List <string>(); for (var index = 0; index < reader.FieldCount; index++) { var columnName = reader.GetName(index); var columnType = OracleAdapter.GetType(reader.GetFieldType(index)); columns.Add(columnName); types.Add(columnType); } while (reader.Read()) { var row = new string[reader.FieldCount]; for (var index = 0; index < reader.FieldCount; index++) { var columnName = reader.GetName(index); var columnType = OracleAdapter.GetType(reader.GetFieldType(index)); var columnIndex = columns.IndexOf(columnName); if (types[columnIndex] != "array") { types[columnIndex] = columnType; } object value = null; if (!reader.IsDBNull(index)) { if (columnType == "array") { value = OracleAdapter.GetBytes(index); } else { value = reader.GetValue(index); } } if (value == null) { value = ""; } row[index] = value.ToString(); } rows.Add(row); } return(End(new Result { Success = true, Columns = columns.ToArray(), Rows = rows.ToArray(), Types = types.ToArray() })); }
IDataClient GetDataClient(string ClientType) { if (ClientType == "SQL") { if (sqlClient != null) { return(sqlClient); } sqlClient = new SqlAdapter(); return(sqlClient); } else if (ClientType == "ORACLE") { if (oraClient != null) { return(oraClient); } oraClient = new OracleAdapter(); return(oraClient); } else if (ClientType == "SQLite") { if (sqliteClient != null) { return(sqliteClient); } sqliteClient = new SQLiteAdapter(); return(sqliteClient); } else if (ClientType == "OleDb") { if (oleDbClient != null) { return(oleDbClient); } oleDbClient = new OleDbAdapter(); return(oleDbClient); } else if (ClientType == "Postgre") { if (postgreClient != null) { return(postgreClient); } postgreClient = new PostgreAdapter(); return(postgreClient); } return(null); }
public IResponse <List <GenericModel> > GetAdapterData(long jobDefinitionId) { var response = new Response <List <GenericModel> > { Value = new List <GenericModel>() }; try { var adapterParameters = _jobDefinitionService.GetAdapterParameter(jobDefinitionId); if (adapterParameters.Status != StatusEnum.Success) { response.Status = StatusEnum.Error; return(response); } IAdapter adapter; switch (adapterParameters.Value.Adapter) { case AdapterTypeItemEnum.MSSQL: adapter = new MSSQLAdapter(_logger); response = adapter.ConnectAndRead(adapterParameters.Value.QueryRead, adapterParameters.Value.ConnString.MSSQLConnString); break; case AdapterTypeItemEnum.MySQL: adapter = new MySQLAdapter(_logger); response = adapter.ConnectAndRead(adapterParameters.Value.QueryRead, adapterParameters.Value.ConnString.MySQLConnString); break; case AdapterTypeItemEnum.Oracle: adapter = new OracleAdapter(_logger); response = adapter.ConnectAndRead(adapterParameters.Value.QueryRead, adapterParameters.Value.ConnString.OracleConnString); break; } } catch (Exception ex) { _logger.Information($"DbAdapterService.GetAdapterData(jobId: {jobDefinitionId})"); _logger.Error(ex.Message); response.Status = StatusEnum.Error; } return(response); }
protected void Page_Load(object sender, EventArgs e) { try { var command = (CommandJson) new DataContractJsonSerializer(typeof(CommandJson)).ReadObject(HttpContext.Current.Request.InputStream); Result result = new Result(); if (command.Database == "MySQL") { result = MySQLAdapter.Process(command); } if (command.Database == "Firebird") { result = FirebirdAdapter.Process(command); } if (command.Database == "MS SQL") { result = MSSQLAdapter.Process(command); } if (command.Database == "PostgreSQL") { result = PostgreSQLAdapter.Process(command); } if (command.Database == "Oracle") { result = OracleAdapter.Process(command); } var serializer = new DataContractJsonSerializer(typeof(Result)); serializer.WriteObject(HttpContext.Current.Response.OutputStream, result); HttpContext.Current.Response.Headers.Add("Access-Control-Allow-Origin", "*"); HttpContext.Current.Response.Headers.Add("Cache-Control", "no-cache"); HttpContext.Current.Response.OutputStream.Flush(); HttpContext.Current.Response.End(); } catch {} }
public IResponse <NoValue> SendToRelationalDb <T>(long jobId, List <T> blocks) { var response = new Response <NoValue>(); try { if (blocks.Count == 0) { response.Status = StatusEnum.Success; return(response); } var enterpriseAdapter = _entity.JobTimeline.Find(jobId).Schedule.JobDefinition.Adapter1.EnterpriseAdapter.FirstOrDefault(); var query = new QueryWrite { TableNamePrefix = enterpriseAdapter.EnterpriseAdapterProperty.FirstOrDefault(eap => eap.PropertyId == (int)PropertyEnum.TableNamePrefix).Value }; if (typeof(T) == typeof(EthereumBlockModel)) { var model = (List <EthereumBlockModel>)Convert.ChangeType(blocks, typeof(List <EthereumBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.Ethereum; for (var i = 0; i < model.Count; i++) { model[i].BlockIdSQL = Guid.NewGuid(); for (var j = 0; j < model[i].BlockTransactions.Count; j++) { model[i].BlockTransactions[j].ParentBlockId = model[i].BlockIdSQL; model[i].BlockTransactions[j].TransactionIdSQL = Guid.NewGuid(); } } query.EthereumBlockModel = model; } else { foreach (T block in blocks) { var blockIdSQL = typeof(T).GetProperty("BlockIdSQL"); blockIdSQL.SetValue(block, Guid.NewGuid()); var transactionList = (IEnumerable)typeof(T).GetProperty("TransactionList").GetValue(block); foreach (var transaction in transactionList) { var transactionType = transaction.GetType(); var transactionIdSQL = transactionType.GetProperty("TransactionIdSQL"); transactionIdSQL.SetValue(transaction, Guid.NewGuid()); var parentBlockIdSQL = transactionType.GetProperty("ParentBlockIdSQL"); parentBlockIdSQL.SetValue(transaction, blockIdSQL.GetValue(block)); var transactionInputList = (IEnumerable)transactionType.GetProperty("TransactionInputs").GetValue(transaction); foreach (var input in transactionInputList) { var transactionInIdSQL = input.GetType().GetProperty("TransactionInIdSQL"); transactionInIdSQL.SetValue(input, Guid.NewGuid()); var parentTransactionIdSQL = input.GetType().GetProperty("ParentTransactionIdSQL"); parentTransactionIdSQL.SetValue(input, transactionIdSQL.GetValue(transaction)); } var transactionOutputList = (IEnumerable)transactionType.GetProperty("TransactionOutputs").GetValue(transaction); foreach (var output in transactionOutputList) { var transactionOutIdSQL = output.GetType().GetProperty("TransactionOutIdSQL"); transactionOutIdSQL.SetValue(output, Guid.NewGuid()); var parentTransactionIdSQL = output.GetType().GetProperty("ParentTransactionIdSQL"); parentTransactionIdSQL.SetValue(output, transactionIdSQL.GetValue(transaction)); } } } if (typeof(T) == typeof(BitcoinBlockModel)) { var model = (List <BitcoinBlockModel>)Convert.ChangeType(blocks, typeof(List <BitcoinBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.Bitcoin; query.BitcoinBlockModel = model; } else if (typeof(T) == typeof(NeoBlockModel)) { var model = (List <NeoBlockModel>)Convert.ChangeType(blocks, typeof(List <NeoBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.NEO; query.NEOBlockModel = model; } else if (typeof(T) == typeof(LitecoinBlockModel)) { var model = (List <LitecoinBlockModel>)Convert.ChangeType(blocks, typeof(List <LitecoinBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.Litecoin; query.LitecoinBlockModel = model; } } var config = new Config { ConnString = new DbAdapter.ConnStringCreator { Server = enterpriseAdapter.ServerIP, Port = enterpriseAdapter.Port.ToString(), Uid = enterpriseAdapter.Username, Pwd = enterpriseAdapter.Password, Database = enterpriseAdapter.DatabaseName }, Adapter = (AdapterTypeItemEnum)enterpriseAdapter.Adapter.AdapterTypeItemId, QueryWrite = query }; IAdapter adapter; switch (config.Adapter) { case AdapterTypeItemEnum.MSSQL: adapter = new MSSQLAdapter(_logger); response = adapter.ConnectAndWrite(config.QueryWrite, config.ConnString.MSSQLConnString); break; case AdapterTypeItemEnum.MySQL: adapter = new MySQLAdapter(_logger); response = adapter.ConnectAndWrite(config.QueryWrite, config.ConnString.MySQLConnString); break; case AdapterTypeItemEnum.Oracle: adapter = new OracleAdapter(_logger); response = adapter.ConnectAndWrite(config.QueryWrite, config.ConnString.OracleConnString); break; } } catch (Exception ex) { response.Status = StatusEnum.Error; response.Message = ex.Message; _logger.Information($"DbAdapterService.SendToRelationalDb(jobid: {jobId}, block:{blocks})"); _logger.Error(ex.Message); } return(response); }
private IResponse <NoValue> TestConnection(EnterpriseAdapterModel enterpriseAdapter) { var connectionResponse = new Response <NoValue>(); var config = new Config { ConnString = new ConnStringCreator { Server = enterpriseAdapter.ServerIP, Port = enterpriseAdapter.Port.ToString(), Database = enterpriseAdapter.DatabaseName, Pwd = enterpriseAdapter.Password, Uid = enterpriseAdapter.Username } }; IAdapter adapter; IResponse <NoValue> connectionStatus = null; switch (enterpriseAdapter.EnterpriseAdapter) { case AdapterTypeItemEnum.MSSQL: adapter = new MSSQLAdapter(_logger); if (enterpriseAdapter.Direction == DirectionEnum.Source) { connectionStatus = adapter.TestConnectivity(config.ConnString.MSSQLConnString, enterpriseAdapter.ParentTable); } else { connectionStatus = adapter.TestConnectivity(config.ConnString.MSSQLConnString); } break; case AdapterTypeItemEnum.MySQL: adapter = new MySQLAdapter(_logger); if (enterpriseAdapter.Direction == DirectionEnum.Source) { connectionStatus = adapter.TestConnectivity(config.ConnString.MySQLConnString, enterpriseAdapter.ParentTable); } else { connectionStatus = adapter.TestConnectivity(config.ConnString.MySQLConnString); } break; case AdapterTypeItemEnum.Oracle: adapter = new OracleAdapter(_logger); if (enterpriseAdapter.Direction == DirectionEnum.Source) { connectionStatus = adapter.TestConnectivity(config.ConnString.OracleConnString, enterpriseAdapter.ParentTable); } else { connectionStatus = adapter.TestConnectivity(config.ConnString.OracleConnString); } break; case AdapterTypeItemEnum.MongoDB: var mongoAdapter = new MongoDbAdapter(_logger); connectionStatus = mongoAdapter.TestConnection(config.ConnString.MongoDbConnString, enterpriseAdapter.DatabaseName); break; } if (connectionStatus.Status != StatusEnum.Success) { connectionResponse.Status = StatusEnum.Error; connectionResponse.Message = connectionStatus.Message; } else { connectionResponse.Status = StatusEnum.Success; } return(connectionResponse); }
public static ReaderAdapter Create(SchemaParameters schemaParameters) { ReaderAdapter schemaReader = null; switch (schemaParameters.SqlType) { case SqlType.SqlServer: return new SqlServerAdapter(schemaParameters); case SqlType.Oracle: schemaReader = new OracleAdapter(schemaParameters); break; case SqlType.SQLite: schemaReader = new SqLiteAdapter(schemaParameters); break; case SqlType.PostgreSql: schemaReader = new PostgreSqlAdapter(schemaParameters); break; case SqlType.MySql: schemaReader = new MySqlAdapter(schemaParameters); break; case SqlType.SqlServerCe: schemaReader = new SqlServerCeAdapter(schemaParameters); break; default: //var providerName = schemaParameters.ProviderName; //all the other types //if (providerName.Equals("Ingres.Client", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new IngresSchemaReader(connectionString, providerName); //} //else if (providerName.Equals("iAnyWhere.Data.SQLAnyWhere", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new SybaseAsaSchemaReader(connectionString, providerName); //} //else if (providerName.Equals("Sybase.Data.AseClient", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new SybaseAseSchemaReader(connectionString, providerName); //} //else if (providerName.Equals("iAnyWhere.Data.UltraLite", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new SybaseUltraLiteSchemaReader(connectionString, providerName); //} //else if (providerName.Equals("System.Data.OleDb", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new OleDbSchemaReader(connectionString, providerName); //} //else if (providerName.Equals("System.Data.VistaDB", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new VistaDbSchemaReader(connectionString, providerName); //} //else if (providerName.Equals("IBM.Data.DB2.iSeries", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new Db2ISeriesSchemaReader(connectionString, providerName); //} //else if (providerName.Equals("FirebirdSql.Data.FirebirdClient", StringComparison.OrdinalIgnoreCase)) //{ // schemaReader = new FirebirdSqlSchemaReader(connectionString, providerName); //} break; } if (schemaReader == null) { #if !COREFX schemaReader = new DbProviderReaderAdapter(schemaParameters); #else schemaReader = new ReaderAdapter(schemaParameters); #endif } return schemaReader; }
public void NAdapterTest() { IDatabaseAdapter adapter = new OracleAdapter(); Assert.AreEqual("oracle", adapter.ProviderName); }