neljapäev, 15. mai 2008

SSIS Locale ID hädad Flat faili eksportimisel

Ehk tõmbame SQLSERVER 2005 andmebaasist salvestatud protseduuriga andmeid välja ja tahame tulemust panda tekstifaili
aga pillub siis sellist:

1. The Locale ID is not installed on this system
2. The component locale ID does not match the connection manager Locale ID

Põhjus selline, et Data Flow Taskis on Ole DB Source -> Properties LocaleID näiteks Estonian aga Flat faili Locale ID on näiteks English(United States) ja nüüd SSIS üritab andmeid tõmmata
Estonian -> English(United States) peale aga see talle kohe kuidagi ei meeldi.

Flat failil tuleb LocaleID panna sama, mis on Ole DB Source. Lihtsalt sellega, et muuda Flat file properties alt LocaleId ära ei pruugi õnnestuda. Kustuta olemasoleva Flat File connection ära ja Data Flow pealt ka minema ning lohista uus Flat file destination Data Flow peale. Ühenda OLE DB Sourcega ning loo Flat fail uuesti

Punkt 1 vastu rohtu ei ole otsinud, muud kui säti igal pool Locale ID English(United States), see on alati olemas.

Ahaa, andmebaasi SP-s, kui kasutad tabelmuutujat ja mingit fikseeritud tekstikonstanti siis ära unusta COLLATION DATABASE_DEFAULT kasutamast.

Näiteks kui SP-s salvestad midagi alguses tabelmuutujasse ja siis sealt pärast loed edasi näiteks:

DECLARE @paat TABLE ( nimi NVARCHAR(200) COLLATE DATABASE_DEFAULT, nr INT)
INSERT INTO @paat (nimi, nr) SELECT midagi, number FROM DBO.TABEL
ja kui nüüd sellest @paat tabelist edasi midagi loed näiteks:

SELECT nimi, CASE WHEN nr = 1 THE 'JAH' ELSE 'EI' END AS kuidas FROM @paat
siis "nimi" tuleb andmebaasi järjestuses (COLLATION) "kuidas" aga võetakse serveri oma ja
see SSIS-ile ka ei pruugi meeldida, tuleb seega järjestus ära määrata


SELECT nimi, CASE WHEN nr = 1 THE 'JAH' COLLATE DATABASE_DEFAULT ELSE 'EI' COLLATE DATABASE_DEFAULT END AS kuidas FROM @paat

Võid ühest hädast jälle lahti saada



Blogged with the Flock Browser

Visual Studio Workspace vahetus Team Foundation Serveril

Nii, juhtub, et kasutame ühte Team Foundation Serverit oma lähtekoodi hoidmiseks ja nüüd on see server läinud ja tahate oma kõvakettalt asjad teisele serverile hoidmiseks suunata. Aga kui hakkate Workspace muutma pistab kisama
a'la "The path C:\TURKU2008BI is already mapped in workspace VISUAL [http://visual:8080/].

Tuleb oma kõvakettalt otsida faili VersionControl.config, seal seotakse omavahel Workspace ja Server, ehk öeldakse, et C:\TURKU2008BI kataloog hoiab oma asju serveris http://visual:8080/" näiteks:


<ServerInfo uri="http://visual:8080/" repositoryGuid="bc34791c-d02c-4dce-a3f0-c328531a37ec">
<WorkspaceInfo name="VISUAL" ownerName="CW\Kuido" computer="VISTAU" comment="" LastSavedCheckinTimeStamp="0001-01-01T00:00:00Z">
<MappedPaths>
<MappedPath path="C:\TURKU2008BI" />
</MappedPaths>
</WorkspaceInfo>
</ServerInfo>

Ja nüüd sellele osale failist kadu
Blogged with the Flock Browser

Asjade algus

Asi algab sellest, et pea pole prügikast ja tihti on ette tulnud, et ei mäleta enam, kuidas mingit asja sai tehtud. Nüüd panen need kirja. Ehk on abiks.

Enna seda oli muidugi see, et hakkasin brauserina Flock'i kasutama, seal kõik need vidinad kohe käe-jala juures. Loodan, et Flock'iga ei lähe nagu Netscape-ga, et pillid lihtsalt kotti pannakse