19 ตุลาคม 2555

Script Import and Export Table Sql Server (Sqlserver Excel)

1. สร้างเอกสาร Exel C:\Book1.xls 2. ทดสอบตามด้านล่าง
--Query Excel 
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\Book1.xls;HDR=YES', 
'SELECT * FROM [Sheet_Name$]')


 
--Export SQL table to Excel
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\Book1.xls;', 
'SELECT * FROM [Sheet_Name$]') select * from Table_Name
 

--Import Excel to SQL table 
Insert into Table_Name 
Select * FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=D:\Book1.xls;HDR=YES', 
'SELECT * FROM [Sheet_Name$]')

3 ตุลาคม 2555

รายการ .NET Component ทั้งหมด

combo_package

สถาปัตยกรรมเทียร์ (Tier)

Tier คำนี้เมื่อแปลออกมาจะแปลได้ว่า "ชั้น"
Tier ในวงการ Software ก็มีความหมายคล้ายกัน สำหรับท่านที่ยังไม่เข้าใจขอแนะนำง่ายๆ โดยให้มองว่า "ชั้น" นั้นเป็นนามธรรม เมื่อนำมาใช้ในวงการ Software แล้ว จำเป็นต้องสร้างนามธรรมนั้นเป็นภาพลักษณ์ขึ้นมา
นิยามเฉพาะเจาะจงของ Tier ก็คือ "การรับ-ส่งข้อมูลในชั้นต่างๆ" นั่นเอง มักจะใช้คำว่า Tier กับ Software ทาง Business solution ที่มีระบบเครือข่าย มี Database Server ผู้เขียนจะจำแนกสถาปัตยกรรมเทียร์เป็น 3 แบบ ให้เห็นความแตกต่างอย่างชัดเจน


  1. 2 Tier
  2. 3 Tier
  3. Multi-tier

19 กันยายน 2555

IIS is not a valid Win32 application (Windows x64)

การแก้ไข IIS ไม่สามารถรันเว็บได้บนเครื่อง 64 บิท x64

 ขึ้น is not a valid Win32 application
 
 

6 กันยายน 2555

ผญ๋า อีสาน พฤติกรรมไม่ควรปฏิบัติ(1)


ผะหญาสุภาษิต
พฤติกรรมไม่ควรปฏิบัติ
คัดจาก กาพย์ปู่

       ï มีดน้อยฟันเข้า  เด็กอวดรู้เกินวัยï   ผู้เฒ่ากล่าวคำหาญ   เป็นคนแก่มักพูดจาคุยโวโอ้อวด
ï  ปูมหลวงบอกยาป้าง  คนป่วยบอกยารักษาโรคï   แม่ฮ้างบอกยาสะเหน   หญิงม้ายบอกยาเสน่ห์ï  คนโลเลสอนควมฮู้   คนไม่มีความรู้ไปสอนคนอื่นï   คนลบหลู่ชี้บอกทางคุณ   คนเนรคุณ ชี้นำให้คนอื่นเกี่ยวกับเรื่อบุญคุณï คนเป็นขุนบอกทางค้า  ข้าราชการแนะนำการค้าขายï  คนขี่ข้าบอกทางเงิน    คนรับใช้คนยากจนบอกแนวทางการหาเงินï  คนมั่งมีกินทานบ่ได้   คนร่ำรวย มีแต่ความเห็นแก่ตัวไม่มีการทำบุญทำทานï  คนขี้ไฮ้อวดอ้างฮ่างมี   คนจนยากไร้อวดอ้างว่าตนเองร่ำรวยï  คนเป็นชีหาเงินรับจ้าง  เป็นนักบวชพระสงฆ์หรือชีรับจ้างหาเงินï  คนอวดอ้างยกย่องว่าโตดี   คนอวดอ้างยกย่องตัวเอง  เป็นอาจารย์หากินแต่เหล้า  คนที่เป็นครูบาอาจารย์ติดสุราï  เป็นผู้เฒ่าควมฮู้บ่ถาม   เป็นคนแก่ที่สนใจในการเรียนรู้ประสบการณ์ï   เป็นสมภารลูกวัดบ่ย้าน  เป็นเจ้าอาวาสที่พระลูกวัดไม่ยำเกรง ไม่นับถือ ไม่มีความสามารถในการปกครองï 

การเขียน Connection String แบบต่างๆ เพื่อเชื่อมต่อ SQLConnection (.Net)



ในการทำให้โปรแกรมของเรา สามารถติดต่อฐานข้อมูล 
อันนึงที่มักเป็นปัญหา บ่อยๆ คือ การเขียน Connection String ผิด

30 สิงหาคม 2555

คำคมขงเบ้ง


เกียรติยศย่อมเกิดจากการกระทำที่สุจริต

ถ้าคุณหัวเสีย คุณจะเสียหัว

อย่าไล่สุนัขให้จนตรอก อย่าต้อนคนให้จนมุม

อำนาจที่ปราศจากเหตุผล คือ อำนาจของคนพาล อำนาจที่ปราศจากความเมตตา คือ อำนาจที่นำมาซึ่งความปราชัย

ถ้าคุณคิดจะเป็นใหญ่ คุณก็จะได้เป็นใหญ ถ้าคุณคิดอยากเป็นอะไร คุณก็จะได้เป็นสิ่งนั้น

เพราะแสวงหา มิใช่เพราะรอคอย เพราะเชี่ยวชาญ มิใช่เพราะโอกาส เพราะสามารถ มิใช่เพราะโชคช่วย ดังนี้แล้ว

"ลิขิตฟ้าหรือจะสู้มานะตน"

ใช้คำสั่ง Query ด้วย TEXT หรือ NVARCHAR มากกว่า 4000 (Execute Query With NVARCHAR More Than 4000 )

ใช้คำสั่ง Query ด้วย TEXT หรือ NVARCHAR ข้อดีคือสามารถรับได้ถึง 8000 ตัวอักษร
declare @sql nvarchar(4000)
declare @sql2 nvarchar(4000)
SET  @sql = 'SELECT * FROM TABLE'
SET  @sql2 = ' WHERE 1=1'
EXEC(@sql + @sql2)

สั่ง Query ด้วย NVARCHAR ( Execute Query With NVARCHAR)

ใช้คำสั่ง Query ด้วย TEXT หรือ NVARCHAR ข้อเสียคือสามารถรับได้แค่ 4000 ตัว

declare @sql nvarchar(4000)
SET  @sql = 'SELECT * FROM TABLE'
execute sp_executesql @sql

20 สิงหาคม 2555

การสร้าง PrimaryKey ให้ DataTable

'-------------------------------------------------------------------------
'สร้าง PrimaryKey แบบหนึ่ง Key
Dim dtTempCal As New DataTable
dtTempCal.Columns.Add("Data", GetType(String))
dtTempCal.Columns.Add("Key_No", GetType(String))

dtTempCal.PrimaryKey = New DataColumn() {dtTempCal.Columns("Key_No")}

'การเรียกใช้งานเพื่อ update data ใน DataTable แบบหนึ่ง Key
Dim drNewrow as DataRow
drNewrow = dtTempCal.NewRow
drNewrow = dtTempCal.Rows.Find("001") 'Key_No = "001"
drNewrow.BeginEdit()
drNewrow("Data") = "Test"
drNewrow.EndEdit()

-------------------------------------------------------------------------
'สร้าง PrimaryKey แบบมากกว่าหนึ่ง Key
Dim dtTempCal2 As New DataTable
dtTempCal2.Columns.Add("Data", GetType(String))

Dim primaryKey(1) As DataColumn
primaryKey(0) = dtTempCal2.Columns.Add("Key_No1", GetType(String))
primaryKey(1) = dtTempCal2.Columns.Add("Key_No2", GetType(String))
dtTempCal2.PrimaryKey = primaryKey

'การเรียกใช้งานเพื่อ update data ใน DataTable แบบมากกว่าหนึ่ง Key
Dim oKey(1) As Object
oKey(0) = "001"
oKey(1) = "002"
drNewrow = dtTempCal2.Rows.Find(oKey) 'Key_No1 = "001",'Key_No2 = "002"
drNewrow.BeginEdit()
drNewrow("Data") = "Test"
drNewrow.EndEdit()

24 มิถุนายน 2555

20 มิถุนายน 2555

เครื่องมือพัฒนาแอพฯ บน Windows Phone 7 เวอร์ชันสมบูรณ์(Windows Phone 7 Tools)


ไมโครซอฟท์ได้ปล่อยเครื่องมือพัฒนาแอพพลิเคชันบน Windows Phone 7 เวอร์ชันสมบูรณ์ (RTW: Release to Web) แล้ว ประกอบด้วย
  • Windows Phone Developer Tools เป็นชื่อชุดเครื่องมือพัฒนาแอพพลิเคชันบน Windows Phone 7 ประกอบด้วย Visual Studio 2010 Express for Windows Phone, อีมูเลเตอร์, Silverlight 4 Tools For Visual Studio, XNA Game Studio 4.0 และ Expression Blend for Windows Phone
  • Silverlight for Windows Phone Toolkit เป็นเซ็ตของคอนโทรล (control) เพิ่มเติมที่เอาไว้จัดการกับ gesture events (เช่น tap, double-tap, hold, drag)
  • Advertising SDK for Windows Phone 7 เป็น SDK สำหรับพัฒนาโฆษณา (ที่ผู้ลงโฆษณาต้องประมูลแบบเรียลไทม์) ลงไปในแอพพลิเคชันของนักพัฒนาบน Windows Phone 7
  • XNA Game Studio 4.0 - เป็นชุดเครื่องมือพัฒนาเกมบน Windows, Xbox 360, Windows Phone
  • Windows Phone 7 Training Kit for Developers
ไมโครซอฟท์ยังเปิดเผยอีกว่า จะเปิด Marketplace ให้นักพัฒนาเอาแอพพลิเคชันของตนขึ้นไปขายได้ราวต้นเดือนตุลาคม แอพพลิเคชันที่จะขึ้น Marketplace ได้ต้อง build โดยใช้ Windows Phone Developer Tools รุ่นล่าสุดเท่านั้น

ที่มา :: http://www.blognone.com

26 พฤษภาคม 2555

RESTORE DATABASE WITH SCRIPT

การ Restore Database ด้วย Query Script
ALTER DATABASE dbName SET SINGLE_USER

RESTORE DATABASE dbName 
FROM DISK = 'D:\dbName.bak'
WITH Replace

ALTER DATABASE dbName SET MULTI_USER

11 เมษายน 2555

การใช้งาน Progress Bar VB.Net

Tips VB.NET2005 : Progress Bar กับ Database

Tips VB.NET2005 : Progress Bar กับ Database


วิธีการใช้ Progress Bar ในช่วงที่ดึงข้อมูลจากฐานข้อมูลลง Dataset

หลาย ๆ คนคงประสบปัญหาเวลาข้อมูลที่ Select ขึ้นมามีขนาดใหญ่ แล้วทำให้คนใช้ต้องรอนานมากกว่าจะ Fill ข้อมูลลง Dataset เสร็จ
ใน VB.NET 2005 นั้นมันมีแถม ProgressBar มา แต่การนำมาใช้ช่วงที่ Fill ลง Dataset นั้นทำไม่ได้โดยตรง แต่ก็ยังมีวิธีอ้อม ๆ ซึ่งตัว Code นั้นก็ไม่ยากเกินกำลัง

มาลองศึกษาดูนะครับ

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine (on Windows 64 bits)

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine (on Windows 64 bits)


สาเหตุที่มันเกิด Error เพราะว่าวินโดวส์ 64 บิต ไม่สนับสนุน Jet.OLEDB นั่นเอง
1. เปิดไฟล์นามสกุล (*.csproj, *.vbproj, etc..) ด้วย notepad นะครับ โดยไฟล์ที่เปิด จะมีการจัดเก็บแบบ XML
2. หาส่วนที่เขียนว่า <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> and <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
โดยส่วนนี้จริง ๆ แล้ว อาจจะมีแค่ <PropertyGroup> เท่านั้น (ตัวนี้ไฟล์ของผม)
3. ให้หาส่วนชื่อ PlatformTarget ถ้าไม่มีให้เพิ่มข้อมูล <PlatformTarget>x86</PlatformTarget> เข้าไปเลยนะครับ
4. บันทึกและปิดโปรแกรม Notepad.
5. โหลดโปรเจคขึ้นมาใหม่ แล้วคอมไพล์เพื่อทดสอบ

ในตัวโปรแกรมที่ทำ หลังจากตอนแรกหา Database ไม่เจอเพราะ Jet.OLEDB ไม่ซัพพอร์ท พอเพิ่ม TAG นี้เข้าไป ก็หา DB เจอ

เนื้อที่สรุปมา อ้างอิงจากเวป

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/45aa44dd-0e6f-42e5-a9d6-9be5c5c8fcd1

1 เมษายน 2555

VB.NET Coding Guidelines

VB.NET Coding Guidelines

by Cory Smith

Table of Contents
1. Introduction
2. Style Guidelines
2.1 Tabs and Indenting
2.2 Option Explicit / Option Strict
2.3 Block Formatting
2.4 Single line statements
2.5 Commenting
2.5.1 Copyright notice
2.5.2 Documentation Comments
2.5.3 Comment Style
2.6 Spacing
2.7 Attributes
2.8 Naming
2.9 Naming Conventions
2.9.1 Interop Classes
2.10 File Organization
2.11 Doing things the Visual Basic .NET Way
2.12 Microsoft.VisualBasic.Compatibility
2.13 Other Considerations
2.14 Special Thanks

12 กุมภาพันธ์ 2555

การนำระบบ CRM มาช่วยจัดการ คอนแท็คเซ็นเตอร์
เมื่อพูดถึง Contact Center (คอนแท็คเซ็นเตอร์ ) หลายท่านอาจนึกถึง Call Center ซึ่งหมายถึงที่ที่เราสามารถโทรศัพท์ไปติดต่อเมื่อเราเจอปัญหา มีคำถาม หรือการซื้อสินค้าและบริการ และสำหรับอีกชื่อที่เราคุ้นเคยคือ Help Desk ซึ่งในองค์กรส่วนใหญ่จะมีทีมดังกล่าวนี้คอยให้ความช่วยเหลือพนักงานในบริษัท ในเรื่องที่เกี่ยวข้องกับระบบ IT ไม่ว่าจะเป็นการใช้งานเครื่องคอมพิวเตอร์ไม่ได้ พิมท์เอกสารไม่ได้ ระบบเครือข่ายใช้งานไม่ปกติ หรือ Projector ในห้องประชุมแสดงผลที่ไม่ถูกต้อง

ใน Call Center ก็จะมีพนักงานอย่าง Customer Service Representative (CSRs ) หรือ agents คอยทำงานรับโทรศัพท์จากลูกค้า(in bound ) หรือติดต่อสื่อสารไปยังลูกค้า(out bound)

"NoSQL" Database Management System

"NoSQL" Database Management System

 Not Only SQL (NoSQL)

พอดีตอนนี้ผมต้องเข้าไปพัวพันกับเรื่อง ฐานข้อมูล หรือ database ขนาดใหญ่ (สำหรับผมนะครับ แต่คงไม่ใหญ่สำหรับคนอื่น) และเคยหลวมตัวเข้าไปนั่งฟัง whitepaper ของพวกพี่ ป.โท เกี่ยวกับ database ที่มีการ insert วันละเป็นล้าน record มาด้วย
เลยสงสัยว่า ยักษ์ใหญ่อย่างพวก Google,Facebook,twitter และรายอื่นๆ มีวิธีเก็บฐานข้อมูลกันอย่างไร หาไปหามา เจอเรื่องตกใจ ,,, เค้าใช้ "NoSQL",,, อ้าวยังไงล่ะทีนี้ สงสัยไปหมด แล้ว Relational Database ล่ะ
ไหนจะ SELECT * FROM ... ไหนจะเรื่อง table และ field อ่าว แล้วเรื่อง SQL Injection ล่ะ ??? เอ้ะ ยังไงล่ะทีนี้ ,,,

หลังจากหาข้อมูลได้พอสมควร เท่าที่ดูแล้วมันไม่ใช่เทคโนโลยีใหม่เลยครับ มีมานานแล้ว คงแค่ว่า(ผม)ไม่ค่อยได้เข้าไปพัวพันกับมัน เลยไม่ใช่สิ่งที่จะได้เจอ หรือจะได้ใช้ในชีวิตจริงกันมากเท่าไหร่นัก

จะเข้าใจได้ มันก็คงต้องเริ่มจากเรื่อง basic concept ของมันกันก่อน ว่าแล้ว ก็หาดูกันเลย
อะไรคือ NoSQL

NoSQL ถ้าหาข้อมูลแล้วเจอชื่อเต็มๆ หลายๆ แบบก็ไม่ต้องตกใจนะครับ ก็คงแล้วแต่จะเรียกกันไป เช่น Not Only SQL บ้าง , Non Relational Database บ้าง หรืออะไรอื่นๆ อีก ก็แล้วแต่ครับ
ปัจจุบันเรื่องฐานข้อมูลต่างๆ ไม่ว่าจะเป็นตามเว็บไซต์ ก็คงจะมีข้อมูลที่ต้องเก็บต่อวันมากขึ้น ตามสังคมแบบ Social Network ทำให้ไม่ต้องสงสัยเลยว่า ในอนาคต trend การเก็บข้อมูลแบบ NoSQL นี้ จะต้องใช้กันอย่างแพร่หลายแน่ๆ
จริงๆ แล้ว เจ้า NoSQL นี้ไม่มีอะไรมากเท่าไหร่ แค่เป็นการวิวัฒนาการที่มาจาก Relational Database จำพวก MySQL, Microsoft SQL นั่นแหละครับ แต่สิ่งที่มันทำให้แตกต่างจากพวก SQL ก็คือ

1.Non Relational
2.Distributed, Large Scale Databases
3.Horizontally Scalable (More nodes/servers)
4.Open Source
5.Schema Free
6.Eventually Consistent (BASE - Basically Available, Soft state, Eventual consistency)
7.Easy Replication Support
8.Simple API support

ERP

ERP คืออะไร?
ERPเป็นซอฟต์แวร์ที่มีการรวบรวม หรือผนวกฟังก์ชันงานทั้งหมดในองค์กร หรือมีการเชื่อมโยงในส่วนของโมดูลทั้งหมดเข้าด้วยกัน โดยมีการทำงานในลักษณะแบบเรียลไทม์ และ ERP จะได้รับการออกแบบมาบนพื้นฐานของวิธีการปฏิบัติที่ดีที่สุดในอุตสาหกรรม นั้นๆ (Best Practice) ก็คือมีการกำหนดในส่วนของกระบวนการทางธุรกิจ ที่มีการทดสอบ และสำรวจมาแล้วว่าเป็นวิธีการที่ดีที่สุดในอุตสาหกรรมนั้นๆ ไว้ในตัวของ ERP
ดังนั้น เราจะเห็นได้ว่า มีหลายธุรกิจที่อิมพลีเมนต์ ERP เพื่อผลในการทำ Business Reengi -neering เพราะต้องการปรับเปลี่ยนกระบวนการทางธุรกิจขององค์กรให้เป็นไปตามกระบวนการ ที่เป็น Best Practice โดยที่ซอฟต์แวร์ ERP จะสามารถปรับเปลี่ยนให้เข้ากับลักษณะการดำเนินงานขององค์กรนั้น (ที่เรียกกันว่า Customizing หรือ คอนฟิกูเรชัน) ซึ่งในทางทฤษฎีได้แบ่งซอฟต์แวร์สำเร็จรูปออกเป็น 2 ประเภทคือ ซอฟต์แวร์แพ็กเกจ กับ Customizing Software Package
ข้อแตกต่างของ ซอฟต์แวร์สำเร็จรูปทั้งสองประเภทก็คือ ซอฟต์แวร์แพ็กเกจ นั้น เราไม่สามารถจะปรับเปลี่ยนระบบงานในซอฟต์แวร์นั้นได้ตามความต้องการของ ธุรกิจแต่ละแบบ ถ้าต้องการปรับเปลี่ยนซอฟต์แวร์ให้เข้ากับธุรกิจนั้นๆ ก็อาจต้องแก้ไขโปรแกรมของซอฟต์แวร์สำเร็จรูปตัวนั้นเลยทีเดียว แต่ถ้าเป็น Customizing Software Package ระบบของซอฟต์แวร์นั้นๆ ได้เตรียมส่วนที่เรียกว่า Customizing ไว้ให้เราใช้ปรับเปลี่ยนการทำงานของซอฟต์แวร์ ให้เข้ากับรูปแบบในการดำเนินธุรกิจขององค์กรแล้ว
ถ้าจะกล่าวถึง เทคโนโลยีหลักๆ ที่ผลักดันให้เกิดซอฟต์แวร์ ERP ขึ้นมาก็คือ เทคโนโลยีทางด้านระบบฐานข้อมูล และไคลเอ็นต์/เซิร์ฟเวอร์นั่นเอง เพราะระบบ ERP นั้น เป็นระบบที่อินทิเกรตฟังก์ชันงานทั้งหมดขององค์กร ดังนั้นข้อมูลจึงจำเป็นที่จะต้องเก็บอยู่ในฐานข้อมูลกลางด้วย ส่วนไคลเอ็นต์/เซิร์ฟเวอร์นั้น เนื่องจากการปรับเปลี่ยนรูปแบบการทำงานของการบันทึกข้อมูล จากระบบเดิมที่เคยทำงานในส่วนของแบ็กออฟฟิศมาเป็นรูปแบบในการทำงานในส่วนของ ฟรอนต์ออฟฟิศซึ่งต้องการหน้าจอในลักษณะกราฟิก (Graphic User Interface: GUI) ไม่ใช่รูปแบบที่แสดงแต่ตัวอักษร เหมือนสมัยก่อน ดังนั้นไคลเอ็นต์/เซิร์ฟเวอร์จึงสามารถสนองตอบในส่วนความต้องการในเทคโนโลยี ด้านนี้ได้
ซึ่งถ้าลองศึกษาถึงประวัติศาสตร์ของระบบซอฟต์แวร์สำเร็จ รูปทางธุรกิจกันจริงๆ แล้ว จะพบในอดีตประมาณช่วงต้นของทศวรรษที่ 1970 นั้น ผู้ที่อยู่ในทีมพัฒนาซอฟต์แวร์ให้กับองค์กรต่างๆ มีความต้องการที่จะพัฒนาระบบที่เป็นอินทีเกรตซอฟต์แวร์แพ็กเกจแต่ด้วย เทคโนโลยีทางด้านระบบฐานข้อมูลที่ยังมาไม่ถึง รูปแบบของซอฟต์แวร์ในลักษณะนี้จึงเกิดขึ้นไม่ได้