public async Task <string> DdlAsync(Connection parmList, string commandText, string client) { var sb = new StringBuilder(); if (commandText.ToLower() == "show shares") { var tenant = await GetReaderAsync(client); sb.AppendLine(tenant.Locator); } else { try { _connection.ConnectionString = BuildConnectionString(parmList); using (DbCommand cmd = new SnowflakeDbCommand()) { await _connection.OpenAsync(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandTimeout = 0; cmd.CommandText = commandText; cmd.Connection = _connection; using (var res = await cmd.ExecuteReaderAsync()) { while (res.Read()) { sb.AppendLine(res.GetString(0)); } } } _connection.Close(); } catch (Exception ex) { throw ex; } } return(sb.ToString()); }
public async Task <IReader> ExecuteReaderAsync() { return(new Reader(await _cmd.ExecuteReaderAsync())); }