Dilema veche si ŢARĂ, CAUT LOCUITORI

Ca de obicei, motto-ul impresionant : “Forţa unei naţiuni nu se măsoară în cifra populaţiei sale, ci în valoare elitelor sale.” – GUSTAVE LE BON

Dar cine se mai uita la elite in RO ?

Intrebari (si raspunsuri) potrivite in Cîteva nedumeriri

Magdalena Boiangiu ma socheaza in Scuze
“E greu de crezut că se va găsi cineva atît de naiv încît să creadă în
sinceritatea scuzelor. Dar în această situaţie, la fel ca şi în altele
asemănătoare, ipocrizia joacă un rol pozitiv contribuind la decenţa
dialogului politic, chiar cînd miza jocului e imensă.”

Chiar asa ?

Si tot ea imi place in Victoria lui Zapatero:
Deşi rata creşterii este mai mare decît în toate ţările UE, e mai mică
decît a fost, iar în cabina de vot alegătorii nu se compară cu oamenii
săraci din ţări îndepărtate, ci cu oamenii bogaţi din oraşul lor.”

Merita citite toate articolele din tema  , dar , pentru darimarea iluziilor legate de pensie, cititi Liviu VOINEA Criza demografică şi banii de pensii
In afara de jocul la Bursa, nu stiu care ar fi solutia….

Cristian GHINEA  chiar a fost in Speaker’s Corner la vreme de discutii – eu am trecut doar intr-o dimineata …

Yahoo ma deceptioneaza in interceptarea de spam

Mi-a sosit un email, cica de la BCR e-Banking customerservice@bcr.ro
, scris in engleza( tare!) de notificare ca nu i s-a schimbat home address

Ce ma supara este mailul a ajuns in Inbox, in loc de spam, desi are un link a carui adresa vizibila difera de cea pe care se face click. Adica adresa citibila este

https://www.bcr.ro/_mem_bin/formlogin.asp?source=BcrHOME ( httpS, da ? Adica secure) iar adresa pe care se face click , de fapt, este

http://brdonline.t35.com/login.htm ( va rog, fara click)

Cum dumnezeu nu isi dau seama de chestia asta simpla, nu stiu …

2 incongruente rapide la acest email:

  1. If you would like to contact Wellsfargo Bank online account with questions or comments, Please click here and sign in
  • Ce are wellsfargo cu BCR ?
  1. Linkul este catre brdonline … nu s-au obosit sa faca ceva separat pentru BCR        

linked server cu postgresql

M-am chinuit sa fac import din PostgreSQL in SQL Server.

  • Prima idee :

un linked server cu PostgreSQL
Am incercat cu un driver de ODBC https://projects.commandprompt.com/public/odbcng/attachment/wiki/Downloads/mODBC_Installer(beta_00.99.121).msi?format=raw
si cu un driver de OLEDB
http://pgfoundry.org/frs/download.php/865/PgOleDb-1.0.0.20.zip

Deschizind Linked server,cel de OLEDB dadea eroare ca provider-ul nu era initializat, celalalt (ODBC)lista o gramada de BD cu aceeasi denumire…

  • A doua idee :

Import/Export din PostgreSQL prin DataTable si DataAdapter in SQL Server prin C#
Driver :http://pgfoundry.org/projects/npgsql

Eroare :
This stream does not support seek operations.
Tot citind pe internet despre eroarea asta… am vazut ca nu poate fi reparata …

  • A treia idee :

Am reusit, pina la urma, cu driver-ul de ODBC, un DSN si un import table in Access, apoi Export/Import cu SQL Server …

Concluzia:
Nu exista cai bune sau rele – exista tool-uri care merg !

Dilema vecehe si Radio Europa Libera

 

Lucian MÎNDRUŢĂ Decreţeii la putere!

“Decreţeii sînt în stare de ticăloşii mai mari decît media cetăţenilor, tocmai pentru că presiunea ălorlalţi ne-a făcut de mici competitivi. În liceu, clasele ajungeau pînă la R”

In liceul Caragiale din Bucuresti ajungea pina la T – si se intra cu 2.14. Nu cred ca era competitivitate intre ei si mine , de la mate fizica , pe locurile de la facultate, de pilda…

Si mi-a placut mult:

“Laşitatea e ca şi salteaua-minune: se mulează pe corp şi odihneşte minunat. Problema e unde te trezeşti.”

 

Luca NICULESCU in Soluţia Predoiu e succint:

“Ca urmare, Cătălin Predoiu va trebui să clarifice complicatele raporturi dintre instituţiile care se ocupă de Justiţie, să convingă Parlamentul să voteze legile esenţiale, să reziste inevitabilelor atacuri din anul electoral şi să creeze o atmosferă de încredere. Misiune posibilă?”

Mie imi pare cam imposibila … dar vom vedea…

Mădălina ŞCHIOPU in Despre Europa liberă, ca în Poiana lui Iocan

“La plecare, aud încă în spatele meu cuvintele obsedante: Ceauşescu, Securitate, partid, hoţi, patrioţi. Aceiaşi demoni pe care nu i-am exorcizat încă.”

Care generatia ? Generatia Pro ? Generatia Ipod ?

Un articol bine documentat Tudor Călin ZAROJANU Ce nu se face, dar se face

“Mă opresc aici, nu însă înainte de a mă întreba: ce ziare ori reviste străine citesc oamenii ăştia?(cei care concep stirile, nota mea, A.I.) La ce televiziuni se uită? Unde în lumea asta au văzut ei ca un jurnal TV să dea ştiri despre accidente rutiere curente, despre vecini care se ceartă, despre schiorii amatori care schiază amator sau despre elevii care au copiat la şcoală!?

Nu văd decît un singur răspuns posibil: nu citesc nimic şi nu se uită la nimic.”

 

 

Addins for Firefox

Ce add-in-uri de firefox folosesc




Nume addin Mozilla

Detalii

 Copy Plain Text 0.3.3

 

 

    http://mozmonkey.com/

 De copiat doar text

    Firefox 0.7

 

    Copies text without formatting

 DOM Inspector 1.8.1.12

 

 

    http://www.mozilla.org/projects/inspector/

 

    Firefox 2.0.0.12

 

    Inspects the structure and properties of a
window and its contents.

 Download Statusbar 0.9.6

 

 

    http://downloadstatusbar.mozdev.org/

 Ca sa vezi download-urile

    Firefox 2.0

 

    View and manage downloads from a tidy statusbar

 Extension List Dumper
1.13.0

 

 

    http://sogame.awardspace.com/

Ca sa obtii aceasta lista – Tools=> addons=> Dump list

    Firefox 1.5

 

    Dumps a list of the installed extensions.

 FFClickOnce 0.6

 

 

    http://www.softwarepunk.com/ffclickonce/

Pentru instalare Click Once

    Firefox 1.5

 

    Allows Firefox to run .NET ClickOnce
applications.

 Firebug 1.05

 

 

    http://www.getfirebug.com/

Pentru web development

    Firefox 1.5

 

    Web Development Evolved

 Forecastfox 0.9.6

 

 

    http://forecastfox.mozdev.org/

Pentru vremea din Bucuresti

    Firefox 1.5

 

    Get international weather forecasts and display
it in any toolbar or statusbar with this highly customizable extension.

 Google Browser Sync
1.3.20070523.0

 

 

  
 http://www.google.com/tools/firefox/browsersync/

Pentru sincronizare de Bookmarks

    Firefox 1.5.0

 

    Synchronize settings between browsers

 Google Notebook 1.0.0.19

 

 

    http://www.google.com/notebook

Pentru note rapide, folositi clip

    Firefox 1.5

 

    Allows notetaking while browsing

 ScribeFire 1.4.6

 

 

    http://www.scribefire.com/

Pentru postat pe blog (merge cu multe blog-uri, inclusive cu
dasblog)

    Firefox 1.5

 

    A full featured blog editor that integrates
with your browser and lets you easily post to your blog.

 StumbleUpon 3.16

 

 

    http://www.stumbleupon.com/

Pentru site-uri

    Firefox 1.0

 

    StumbleUpon Toolbar

 TinyUrl Creator 1.0.4

 

 

    http://mozmonkey.com/

Pentru url-uri mici

    Firefox 1.5

 

    Convenient tool to create small url redirects
from longer ones.

 Web Developer 1.1.4

 

 

    http://chrispederick.com/work/webdeveloper

 

Pentru dezvoltare web

    Firefox 1.0

 

    Adds a menu and a toolbar with various web
developer tools.

 Acest post a fost postat cu ajutorul ScribeFire

Stumble upon si scuze tuturor – sau cum am spamat o lume …

Azi m-am inregistrat pe stumble upon si dupa inregistrare, mi-a dat o pagina frumoasa :am zis sa vad care din cunostinte sunt acolo.

OK – i-am dat parola de yahoo – si s-a conectat … Ce nu am observat a fost ca , linga mesajul :

Invite these 815 friends to join StumbleUpon (Please don’t invite mail lists, nobody likes spam)

era un checkbox “check-uit” – desi toate celelalte check-uri pentru numele prietenilor nu sunt.

Asa ca, din neatentie , am spamat o gramada de lume. Ii inteleg ca vor cit mai multi utilizatori – dar metoda mi se pare un pic trasa de par.

Nu mai spun ca nu au mesaj de confirmarea inregistrarii …

Primul punct slab –desi conceptul de site pare ok.

Si imi cer scuze la toata lumea la care am trimis email ( sxa trimit un email de scuze e nashpa …)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Al patrulea pas : Importul datelor

 

Va sfatuim sa cititi partile anterioare

     Primul pas : instalarea software-ului free

    Al doilea pas : Analiza aplicatiei

    Al treilea pas : Structura Bazei de date

 

Sau tutorialul anterior despre .NET 2.0

        http://serviciipeweb.ro/iafblog/content/binary/tutorial.pdf

 

Vom importa datele din fisierul Excel in Baza de date. Daca am avea SQL Server Standard( sau mai mare) am putea importa direct din Excel in SQL Server.Este suficient sa facem click dreapta pe baza noastra de date , Tasks=> ImportData – ca in figura alaturata :

Dupa ce apasam, vom selecta la surse Excel:

Iar la destinatie serverul local de SQL Server

 

Cam asta ar fi, daca am avea SQL Server Standard.

Dar ,pentru ca avem SQL Server Express, nu avem o astfel de facilitate incorporata – asa ca va trebui sa ne descurcam importand datele cu un program in C#.

Vom creea tabele in SQL Server asemanatoare cu structura datelor din Excel. Vom crea tabelele asa cu am facut la pasul 3. De pilda tabela cu date despre cartile de copii va arata asa:

Acum vom importa datele. Va trebui sa facem citirea datelor in Excel si apoi scrierea lor in SQL Server.

Sa le luam pe rind:

Cream un nou proiect in C# , intitulat “ImportDate” de tip Consola in folder-ul C:\book3.

Linga toate “using” mai adaugam si un “using System.Data.OleDb;” ca sa putem citi din Excel si using System.Data.SqlClient pentru conectare la SQL Server.

O sa ne folosim de faptul ca DataAdapter stie sa faca modificari de date automat. Ne facem ca citim un DataTable din SQL Server, il umplem apoi cu datele de la Excel si ii spunem lui DataAdapter sa faca insert-urile pentru noi.

 

Deschidem o conexiune la SQL Server si citim datele din tabela “Excel_Copii”:

 

Pentru citirea din Excel vom folosi driverul de OLEDB.Cream o conexiune la Excel si o sa citim datele din tabela “Copii”.

Deschidem o conexiune la Excel

“Provider = \”Microsoft.Jet.OLEDB.4.0\”;Data Source=\”C:\\book3\\carte.xls\”;Extended Properties=\”Excel 8.0;HDR=Yes;IMEX=1\””;

(daca vreti sa stiti ce ISAM aveti , vedeti cu regedit cheia

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ISAM Formats)

Deschidem o noua comanda, prin care selectam datele din Worksheetul “Copii”

oc.CommandText = “select * from [Copii$]”;

 

(de remarcat sintaxa cu $ si paranteze drepte)

Cod complet:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.OleDb;

using System.Data.SqlClient;

using System.Data;

namespace ImportDate

{


class
Program

{


static
void Main(string[] args)

{


using (SqlConnection sco = new
SqlConnection())

{

sco.ConnectionString = “Data Source=.\\sqlExpress;Integrated Security=true;Initial Catalog=Library”;

 

sco.Open();


using (SqlDataAdapter sda = new
SqlDataAdapter(“select * from Excel_Copii”, sco))

{


// construct insert


if (sda.InsertCommand == null)

{


SqlCommandBuilder scb = new
SqlCommandBuilder(sda);

sda.InsertCommand = scb.GetInsertCommand(true);

}

System.Data.DataTable dtTransfer = new System.Data.DataTable();

sda.Fill(dtTransfer);

 

 

 

 


using (OleDbConnection odc = new
OleDbConnection())

{

odc.ConnectionString = “Provider = \”Microsoft.Jet.OLEDB.4.0\”;Data Source=\”C:\\book3\\carte.xls\”;Extended Properties=\”Excel 8.0;HDR=Yes;IMEX=1\””;

odc.Open();


using (OleDbCommand oc = new
OleDbCommand())

{

oc.CommandType = System.Data.CommandType.Text;

oc.CommandText = “select * from [Copii$]”;

oc.Connection = odc;


//fill data table with Excel data

System.Data.DataTable dtExcel = new System.Data.DataTable();


using (OleDbDataReader sr = oc.ExecuteReader())

{

dtExcel.Load(sr);

}

 


// transfer rows


foreach (DataRow dr in dtExcel.Rows)

{

 


DataRow drNew = dtTransfer.NewRow();

drNew.ItemArray = dr.ItemArray;

dtTransfer.Rows.Add(drNew);

}

}

 

 

sda.Update(dtTransfer);

}

}

}

}

}

}

 

La fel se importa si datele din tabela de SF.

Acum este cazul sa importam datele in tabele.

Mai intii, cea de autori.

Va trebui sa luam autorii din toate tabelele .

 

SELECT

[Autor1] as autor


FROM [Library].[dbo].[Excel_Copii]

union

select [Autor2]

FROM [Library].[dbo].[Excel_Copii]

UNION

SELECT

[Autor1] as autor


FROM [Library].[dbo].[Excel_SF]

union

select [Autor2]


FROM [Library].[dbo].[Excel_SF]

 

Observam urmatoarele date:

NULL

ISPIRESCU Petre

Andersen

George Lucas

Ion Creanga

Isaac Asimov

Petre Ispirescu

 

 

Va trebui sa facem 2 lucruri:

  1. Consolidarea datelor – in definitiv, Petre Ispirescu = ISPIRESCU Petre
  2. Inserarea in tabela Person si Tabela Author

Punctul 1 este destul de usor de facut cu un update …

update Excel_Copii set Autor1=
‘Petre Ispirescu’
where Autor1 =
‘ ISPIRESCU Petre’

Punctul 2 il vom face inserind in tabela de persoane si pe urma in tabela de Autori

INSERT
INTO [Library].[dbo].[Person]


([FirstNamePerson],[LastNamePerson]


)

 

select autor,
from

(

SELECT

[Autor1] as autor


FROM [Library].[dbo].[Excel_Copii]

union

select [Autor2]

FROM [Library].[dbo].[Excel_Copii]

UNION

SELECT

[Autor1] as autor


FROM [Library].[dbo].[Excel_SF]

union

select [Autor2]


FROM [Library].[dbo].[Excel_SF]

 

) a where a.autor is
not
null

Acum separam nume de prenume:

UPDATE

    Person

SET

    FirstNamePerson =
substring(FirstNamePerson,1,charindex(‘ ‘
,FirstNamePerson)-1),

    LastNamePerson =
substring(FirstNamePerson,charindex(‘ ‘
,FirstNamePerson)+1,100)

WHERE
charindex(‘ ‘
,FirstNamePerson)>0

Rezultatul este:

IDPerson    FirstNamePerson    LastNamePerson    DateOfBirthPerson

2    Andersen        NULL

3    George    Lucas    NULL

4    Ion    Creanga    NULL

5    Isaac    Asimov     NULL

6    Petre    Ispirescu    NULL

 

Acum le vom insera in tabela de Autori:

INSERT
INTO

    [Author]


([IDPerson]


)


SELECT IDPerson FROM Person

 

La fel inseram cartile si editurile..

Acum trebuie sa refacem legaturile, de pilda, intre autori si carti

    INSERT
INTO [Book_Author]


([IDBook]


,[IDAuthor])

 

select IDBOOK,IDAuthor from Book b

inner
join Excel_SF excel

inner
join Person p on excel.Autor1 = p.FirstNamePerson +
‘ ‘
+ p.LastNamePerson

inner
join Author a on p.IDPerson = a.IDPerson

on excel.Titlu = b.Title

 

La fel si pentru carti cu edituri :

update book

set IDPrintingHouse =

p.IDPrintingHouse from Book b

inner
join Excel_SF excel

inner
join PrintingHouse p on p.NamePrintingHouse = excel.Editura

on excel.Titlu = b.Title

Ramine la latitudinea cititorului exercitiul cu celelalte update-uri.

Backupul la BD il gasiti in folder-ul database si se numeste “lib_date_importExcel.bak” . Puteti face restore.

De citit:

  1. Primul pas : instalarea software-ului free , in care downloadati VC# Express si SQL Server Express
  2. Stringuri de conexiune pentru orice baza de date : www.connectionstrings.com

 

Surse

Tutorial PDF

        

 

Dilema veche si Antrenament pentru viata

Ca de obicei motto-ul e nemaipomenit:

“Întîlnirea dintre doi oameni este precum contactul dintre două substanţe chimice: dacă există o reacţie, amîndoi suferă o transformare.” – C. G. JUNG

Sever VOINESCU | Neputincioşii care ştiu

“Bosnia, după cum se ştie, este mai mult o ficţiune decît o ţară. Dacă mîine pleacă de acolo zecile de mii de soldaţi ai forţelor internaţionale, poimîine nu mai există nimic ce s-ar putea numi Bosnia-Herţegovina. Să aparţii unei asemenea ţări, incapabilă să construiască un sistem administrativ cît de cît plauzibil, deşi nu e cu mult mai mare decît Oltenia, şi să cerţi Germania pentru ineficienţă administrativă reprezintă o mare cucerire a timpului nostru. Halal să ne fie!”

 

Cristian GHINEA are un articol interesant Despre islamişti, nazişti şi pedofili : cititi-l neaparat…

Peter Singer vorbeste despre Responsabilizarea organizaţiilor umanitare

Nu reusesc sa inteleg “Antrenament pentru viata” … Dupa parerea mea viata iti ofera mai intii practica si apoi teoria … si da, de obicei desteptii invata din pataniile altora…