Heti állapotjelentések kinyerése Project Server 2003-ból

Megváltunk ma a jobb sorsa érdemes Project Server 2003-unktól. A nevek hatalma újfent beigazolódott, a szerver beteljesítette a frodo név által elrendelt sorsot. Nagy reményeink voltak vele kapcsolatban, de szép lassan eltávolodott az anyagi világtól (=virtuális gép lett belőle), később elhajózott a tündékkel nyugatra (=csatlakozott finwe és feanor nevű volt szervereinkhez), most pedig már csak az emléke maradt meg (=kiírtuk DVD-re). Nem lehet véletlen ez a sors, csak azt sajnálom, hogy sauront nem sikerült elintéznie;-)

Még a végleges leállítás előtt szerettem volna az egyik projekthez tartozó heti állapotjelentéseket elmenteni szöveges formában is. A felületről csak egyesével lehetett volna megnézni ezeket, annál azért több volt, sem hogy végigkattintgassam az elmúlt egy év minden hetét. Ránéztem gyorsan az adatbázisra, így elsőre a MSP_WEB_STATUS_RESPONSES tábla tűnt a megfelelőnek, ennek van egy wresp_text  nevű, ntext típusú oszlopa. SQL Server 2000 volt fent a szerveren, az abban lévő Enterprise Manager nem jeleníti meg az ntext oszlopok tartalmát. Query Analyzerrel le lehet kérdezni, de az meg levágta a tartalom végét.

osql.exe-vel gyorsan meg lehet nézni, pl.

C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -E -o c:\status.txt
use projectserver
go
select wresp_text from MSP_WEB_STATUS_RESPONSES
go
exit

Nem volt az igazi, mert szépen betördelte 80 karakter után:) Egy egyszerű VBScript jobb megoldás már:

Dim objCN, strConnection
Set objCN = CreateObject("ADODB.Connection")
strConnection = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ProjectServer;Data Source=(local)"
objCN.Open strConnection

Dim strSQLQuery
strSQLQuery = "select wresp_text from MSP_WEB_STATUS_RESPONSES"
Dim objRS
Set objRS=CreateObject("ADODB.Recordset")

Set objRS = objCN.Execute(strSQLQuery)

Do Until objRS.EOF    
    WScript.Echo objRS.Fields("wresp_text") 
    objRS.MoveNext
Loop

objRS.Close
objCN.Close

Kapunk egy szép XML-t minden egyes sorhoz, ilyesmiket. Van egy FIELDS rész, és utána egy ROWS:

<ROWS>
 <ROW>
 <FIELD>
  <FIELDNAME>SectionName</FIELDNAME> 
 <VALUE>
  <![CDATA[ Major Accomplishments ]]> 
 </VALUE>
</FIELD>
<FIELD>
 <FIELDNAME>SectionData</FIELDNAME> 
 <VALUE>
  <![CDATA[ <P>Virtual Infrastructure Client was installed on some machines.</P><P>The changes were propagated into the wiki. </P>]]>   </VALUE>
 </FIELD>

SQL Profilerrel megnézve is vagy 20 tárolt eljárást hív egy jelentés lekérdezése során, és az ASP oldalak, amik megjelenítik a jelentéseket vagy 30 K-sok, tele csúnya HTML és XML matatással:) A Project Data Service (PDS) leírásába is belenéztem, de nem láttam az állapotjelentésekre vonatkozó részt. Úgyhogy egyelőre elég nekem ilyen formában, ezt elmentettem, sajnos nem volt több időm ezzel játszani.

Reklámok
Kategória: Tech | Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s