கட்டுமானம்
.NET மற்றும் விண்டோஸ் கட்டுமானம் (architecture) சார்ந்த பதிவுகள், குறிப்புகள்.
எக்சல் கோப்புகளை எக்சல் ஆப்ஜக்ட் பயன்படுத்தாமலேயே வெறும் OleDbConnectionனை மட்டும் வைத்துக்கொண்டே டாட்நெட் தொழில்நுட்பம் பயன்படுத்த முடியும், கீழ்க்கண்டவாறு:
OleDbConnection xlConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\filename.xls;Extended Properties='Excel 8.0;'");
இதிலுள்ள ஒவ்வொரு சீட்டையும் ஒரு டேபிலாகப் படிக்கலாம்.
பிறகு டேபிளில் உள்ள வரிசைகளைப் படிக்க "select * from [sheet1$]" என்று அடாப்டரிலோ அல்லது கமாண்ட் ஆப்ஜக்டிலோ வினவளைக் கொடுக்கவேண்டியதுதான். இதில் ஒரு சிறிய பிரச்சனை என்னவென்றால் டேட்டாடைப்பை OleDbConnection புரிந்துகொள்ளும் விதம்தான். உதாரணமாக, எண்கள் மட்டும் இருக்கவேண்டிய ஒரு காலத்தில் (column) ஒரு எழுத்துச்சரத் தகவல் இருந்தது என்றால் அந்த தகவலை எடுத்துக்கொள்ளாமல் வெறும் null என்று அந்த இடத்தில் எடுத்துக்கொள்ளும். இதைத் தவிர்க்க, தகவல்தொடர்ப்புச் சரத்தில், IMEX=1 என்று சேர்த்துத் தரவேண்டும், கீழ்க்கண்டவாறு:
OleDbConnection xlConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\filename.xls;Extended Properties='Excel 8.0;IMEX=1'");
ஒரு வலைத்தள அடிப்படையிலான மென்பொருளை வடிவமைக்க, ஆரம்பத்திலிருந்து திட்டமிட்டு ஒவ்வொரு வரியாக நிரல் எழுதி முடிப்பதை விட ஏற்கனவே பரிந்துரைக்கப்பட்ட ஒரு திட்டப்படி ஆரம்பித்து எழுதி முடிப்பது சுலபமாக இருக்கும். ஒரு மென்பொருளில் தேவைப்படும் குறிப்பிட்ட அம்சம், ஏற்கனவே எழுதிய மென்பொருளிலும் இருந்திருக்கலாம். அல்லது வேறு யாரோ எழுதிய மென்பொருளில் இருந்திருக்கலாம். அதே போல வடிவமைப்பிலும் அனைத்து மென்பொருட்களுக்கும் பொதுவான ஒரு கட்டமைப்புக்குள் கொண்டு வர முடியும். இப்படி அடிக்கடி தேவைப்படும் அம்சங்களுக்கு மறுபடி மறுபடி நிரல் வரிகள் எழுதுவதையும், பொதுவான கட்டமைப்புக்கு மீண்டும் மீண்டும் திட்டமிடுவதையும் தவிர்க்க, framework என்ற ஒன்றைப் பயன்படுத்தலாம்.
இப்படிப்பட்ட ஃப்ரேம்வொர்க்கில், நிறைய விதமான கட்டுமான வகைகள் இருக்கின்றன. கட்டுமான வகை (architectural pattern) என்பது பயனருக்கு எதைக் காண்பிக்கிறோம், எப்படி காண்பிக்கிறோம், மற்றும் எப்படி பரிமாற்றங்கள் நிகழ்கின்றன என்பதைச் சார்ந்ததாகும். இதில் தற்பொழுது மிகவும் ப்ரபலமாக இருப்பது MVC எனப்படும் மாடல்-வ்யூ-கண்ட்ரோலர் என்ற கட்டுமான வகை....
installutil.exeயை வைத்துக்கொண்டு விண்டோஸ் சர்வீசை நிறுவுவதும் நீக்குவதும் மிகவும் சுலபம். ஆனால் ஒரு பொதியாக (package) மாற்றியபின் விண்டோஸ் சர்வீசை நிறுவியதும் கணிணியுடன் அப்படியே ஈஷிக்கொண்டு நிற்கும். பொதியை நீக்கினாலும் சர்வீஸ் பட்டியலில் இருந்து விண்டோஸ் சர்வீஸ் நீங்காது. இதனால் என்ன ப்ரச்சனை என்றால் மீண்டும் அதே பொதியை நிறுவமுடியாது. ஏற்கனவே இந்த பெயரில் ஒரு விண்டோஸ் சர்வீஸ் பட்டியலில் இருப்பதால், மீண்டும் நிறுவ முடியாது... installutil வைத்துக்கொண்டு கூட.
இப்படி பட்டியலில் தங்கிவிட்ட விண்டோஸ் சர்வீசின் பெயரை, சர்வீஸ் முகமையில் (Services console) இருந்தே வலதுபக்க க்ளிக் பண்ணி எல்லாம் நீக்க முடியாது. அஞ்சா நெஞ்சராக இருப்பவர்கள் ரெஜிஸ்ட்ரியில் கைவைத்து இதை நீக்கலாம்.
வேறு எப்படியாவது ஒரு வழியில் இந்த பெயரை நீக்கினால்தான் மீண்டும் விண்டோஸ் சர்வீசை நிறுவமுடியும். விண்டோஸ் மேனேஜ்மெண்ட் இன்ஸ்ட்ருமெண்டேஷன் (WMI) வழியாக இதை நீக்கலாம்.
WMI என்பது விண்டோஸ் கணிணியில் இருக்கும் சர்வீஸ், ப்ராசஸ், பிணைய பகிர்வுகள் (network share)...