1. Через Microsoft SQL Server Management Studio конектимся к серверу server grc3, выбираем базе sn_Saratov.Saratov.ApartmentCounterIndications
2. Через Mysql Workbench заходим в базу pc_db, выбираем таблицу pc_log_indication
3. находим в таблице pc_log_indication нужные показания и берем их counterid
4. Удаляем из Saratov.ApartmentCounterIndications необходимые счетчики
5. Удаляем записи из pc_log_indication
text Solicitud de blogs,solicitar nuevo blog autorizacion cau crear
solicitud
Hay que pedir autorización. Quien los autoriza es Ramón: rrodriguez@csi.uned.es antes de crear
un blog necesitamos su autorización.
La creación de nuevos blogs ha de ser autorizada por el CAU. Para ello hay que cursar una petición de blogs a través del CAU, dirigiéndola a JAIME DARGALLO SAIZ, nosotros no tenemos capacidad de aprobación. A continuación te adjunto los pasos a seguir.
A la hora de solicitar el blog entre otros datos tendrás que proporcionar: tu nombre y apellidos. El nombre, apellidos y dirección de email de cada uno de los administradores que se van a encargar de gestionar y actualizar contenido del blog. El nombre completo del blog, y el identificador corto que servirá para acceder a la página desde internet. El identificador será un texto sin espacios del tipo 'cursocatedra', 'mooc' o 'filosofiasigloxx', mientras que el nombre completo del blog es el título que se le quiera dar la página, sin restricciones especiales.
1) Para crear un nuevo ticket del CAU, accede al portal UNED http://portal.uned.es/ . En la parte superior verás un botón que dice CAU - Avisos
2) Al acceder selecciona la opción "Haga click aquí para acceder a la aplicación"
3) y por último podrás escribir tu solicitud haciendo click en "incidencia / consulta / petición"
Una vez lo aprueben, nos llegarán directamente las solicitudes correspondientes y nos pondremos en contacto contigo para entregarte las credenciales de acceso.
Un saludo y muchas gracias.
var optionsBuilder = new DbContextOptionsBuilder<DickerDataContext>();
optionsBuilder.UseSqlServer("connectstring");
DickerDataContext dickerDataContext = new DickerDataContext(optionsBuilder.Options);
/** @description
* get data from scraperwiki into google apps script
* See http://ramblings.mcpher.com/Home/excelquirks/codeuse for more details
* @author <a href="mailto:bruce@mcpher.com">Bruce McPherson</a><a href="http://ramblings.mcpher.com"> ramblings.mcpher.com</a>
*/
/**
* swSeewhatworks see which scraperwikis have tables and update a list (as returned by rest entry scraperwiki) with default sql
* @param {string} ws the worksheet name with the scraperwiki list of shortnames
* @return {void} null
*/
function swSeewhatworks(ws) {
var ds = new cDataSet().populateData (wholeSheet(ws),
undefined,undefined ,undefined ,undefined , undefined, true);
var cache = sheetCache(ds.headingRow().where());
ds.rows().forEach(
function (dr) {
cache.setValue(swGetDefaultTableSql(dr.cell("short_name").toString(), false),
dr.where().getRow(), dr.columns().count()+1 );
}
);
cache.close();
}
/**
* swGetTables return the cRest result of query for table names
* @param {string} shortName the scraperWiki key
* @return {cRest} the result of the query for table names
*/
function swGetTables(shortName){
var tableDirectory = "SELECT name FROM sqlite_master " +
"WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' " +
"Union all " +
"SELECT name FROM sqlite_temp_master " +
"WHERE type IN ('table','view') " +
"ORDER BY 1";
return restQuery(undefined, "scraperwikidata",
shortName + "&query=" + tableDirectory,undefined ,undefined ,undefined ,undefined , false);
}
/**
* swGetDefaultTableSql look up to see what tables are defined in a given scraperwiki and return sql to get the first one
* @param {string} shortName the scraperWiki key
* @param {boolean} optComplain whether to complain if there is a problem
* @return {string} the sql query to get data from first table
*/
function swGetDefaultTableSql(shortName, optComplain){
var complain = fixOptional (optComplain,true);
var cr = swGetTables(shortName);
if (!cr) {
MsgBox ("could get no info on " + shortName);
}
else {
var job = cr.jObjects().count() ? cr.jObjects().item(1) : null;
if (job && job.hasChildren()) {
// this is hokey - for the moment just take from the first table found
return "select * from '" +
job.children(1).child("name").toString() + "'";
}
else {
DebugPrint(shortName," did not return any tables: got this:", cr.responseData());
if (complain) MsgBox ("could not find any valid tables for " +
shortName + "(" + (job ? job.serialize() : "no data") + ")")
}
}
return "";
}
/**
* swCleanSheet create a clean results sheet with column headings
* @param {cJobject} job contains the list of columns headings as keys
* @param {string} ws the worksheet name to populate
* @return {cDataSet} the dataset with the headings populated
*/
function swCleanSheet(job, ws) {
// put headers to a clean sheet
var ds = null;
var cache = sheetCache(ws);
cache.clear();
if (job.hasChildren()) {
job.children().forEach(
function (cj,n) {
cache.setValue(cj.key(),1,n);
}
);
ds= new cDataSet().populateData( vResize (wholeSheet(ws), 1, job.children().count()));
}
cache.commit();
return ds;
}
/**
* swGetHeaders organize what headers are needed given the scraperWIki response
* @param {cJobject} job contains the query response
* @return {cJobject} a jobject with a list of keys for column headings
*/
function swGetHeaders(job) {
// take scraper wiki data and generate an organized dataset using the headers found
var cjKeys = new cJobject().init(null);
job.children().forEach(
function(cj) {
cj.children().forEach(
function (jo) {
cjKeys.add(jo.key());
}
);
}
);
return cjKeys;
}
/**
* scraperWikiStuff do the query and populate the data
* @param {string} shortName the scraperwiki key
* @param {string} ws the worksheet name to populate
* @param {string} optSql the optional sql string to get the data
* @param {number} optLimit the optional limit to number of rows to get
* @return {cDataSet} the finished data
*/
function scraperWikiStuff(shortName, ws , optSql, optLimit) {
// sort out the optional args
var sql = fixOptional (optSql, swGetDefaultTableSql(shortName));
var limit = IsMissing(optLimit) ? "" : "&limit=" + CStr(optLimit);
var ds = null;
// get the data
var cr = restQuery(undefined, "scraperwikidata",
shortName + "&query=" + sql + limit,undefined ,undefined ,undefined ,undefined , false);
//now organize it
if(cr) {
// get the unique headers and put them to a clean data set
var crj = cr.jObject();
var headJob = swGetHeaders(crj);
if (!headJob) {
MsgBox ("didnt work at all " + crj.serialize())
}
else {
ds = swCleanSheet(headJob, ws);
if (!ds) {
MsgBox ("failed to get the expected data " & crj.serialize())
}
else {
var cache = sheetCache(ds.headingRow().where());
var r = ds.headingRow().where().getRow();
// we know how big the cache needs to be so do it once off
cache.extend(crj.children().count()+1, ds.columns().count());
// this is the data returned - each array member is a row
crj.children().forEach(
function (cj,rIndex) {
cj.children().forEach (
function (job,cIndex) {
cache.setValue(job.value(), r + rIndex, cIndex);
}
);
}
);
cache.close();
}
}
}
return ds;
}