12 สิงหาคม 2558

Configuring IIS, ASP.NET, and SQL Server

เมื่อเราสร้างเว็บแล้วทำการ config web ผ่าน IIS แล้วเกิด Error

Server Error in '/' Application.


Parser Error

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: Could not load type....


เราต้องมาแก้ปัญหาที่ IIS โดยเข้าไปกำหนดค่า Configuration ภาย้ใน IIS ดังนี้

การกำหนดค่า Configuring IIS, ASP.NET, and SQL Server

อ้างอิงจากเว็บ
http://www.codeproject.com/Articles/674930/Configuring-IIS-ASP-NET-and-SQL-Server

การกำหนดสิทธิให้กับ domain ย่อยๆ ให้ทำดังนี้

ไปที่ IIS เข้าไปที่ Default Web Site
ไปคลิกขวาที่ Floder ของเรา แล้วเลือกรายการ Convert to Application




จะปรากฎหน้าต่าง Add Application ให้คลิกปุ่ม OK




















ขั้นต่อมา

ที่ SQL Server Management Studio ให้ไปกำหนดสิทธิ์
โดยคลิกขวาที่ ชื่อฐานข้อมูล เลือก Properties
เลือก Permissions คลิกปุ่ม Search
ที่หน้าต่าง Select Users or Roles กำหนด NT AUTHORITY\SYSTEM
ไปกำหนดสิทธ์ (Grant) ในส่วนของ Connect ให้ติ๊กเครื่องหมายถูกที่ช่อง Grant


เสร็จเรียบร้อย โรงเรียน IIS

สวัสดีมีเว็บใช้

04 สิงหาคม 2558

การสร้าง VFP COM Object

พอดีเพื่อนๆ ที่ได้เขียนโปรแกรม VFP มีการนำเสนอ โปรเจกต์ พิมพ์รายงานของ VFP ผ่านทาง ASP และ ASP.net เลยทำให้อยากทำบ้าง ดังนั้นก็เป็นที่มาของวิธีการสร้าง VFP COM Object ขึ้นมาเพื่อจะได้ทำให้ VFP โลดแล่นอยู่บนเว็บบ้าง

การสร้าง VFP COM Object
1. เปิดโปรแกรม VFP (ตอนเปิดให้คลิกเมาส์ปุ่มขวา แล้วเลือก Run as Administrator) จากนั้นพิมพ์คำสั่งที่ Command Window
      MODIFY COMMAND myclass.prg

2. ทำการป้อนคำสั่งดังนี้
** คำสั่งได้มาจากเว็บ -> http://www.tek-tips.com/faqs.cfm?fid=3381

DEFINE CLASS myclass AS session OLEPUBLIC

PROCEDURE MyDoCmd(cCmd as String) as Variant ;
helpstring "Execute a VFP cmd"
&cCmd && just execute parm as if it were a fox command

FUNCTION MyEval(cExpr as String) ;
helpstring "Evaluate a VFP expression"
RETURN &cExpr && evaluate parm as if it were a fox expr

FUNCTION Error(nError, cMethod, nLine)
COMreturnerror(cMethod+' err#='+str(nError,5)+;
' line='+str(nline,6)+' '+message(),_VFP.ServerName)
&& this line is never executed

ENDDEFINE


ทำการบันทึก โดยกดปุ่ม Ctrl + W

3. ทำการ build dll เพื่อสร้าง .dll โดยพิมพ์คำสั่งที่ Command Window

BUILD PROJECT myserver FROM myclass

BUILD DLL myserver from myserver recomp

หากไม่เกิดข้อผิดพลาดใดๆ เป็นอันเสร็จ ก็จะได้ไฟล์ชื่อ myserver.dll เรียบร้อย
ทำการทดสอบว่า ไฟล์ dll และคำสั่งที่สร้างขึ้น ใช้ได้หรือไม่ โดยพิมพ์คำสั่งที่ Command Window

ox = CREATEOBJECT("myserver.myclass")

?ox.myeval("DATE()")


หากขึ้นวันที่บนหน้าจอแสดงว่า สำเร็จเรียบร้อย
ก็สามารถนำเอา myserver.dll ไปใช้ได้

สำหรับการเรียกใช้ใน asp.net ก็ให้ไปที่เมนู PROJECT เลือกรายการ Add Reference
จะเข้าสู่หน้าต่าง Reference Manage ให้คลิกเลือกที่ COM -> Type Libraries แล้วหาไฟล์ myserver.dll ที่เราสร้างขึ้น แล้วคลิกเลือก

ส่วนการเขียนคำสั่ง ใน ASP.Net เช่น ที่ Form -> Load

Dim oVFP As New myserver.myclass
Dim nRecno As Integer
Response.Write(oVFP.MyEval("time()"))

oVFP.MyDoCmd("USE c:\customer")

While oVFP.MyEval("!EOF()")
    nRecno = nRecno + 1
    Response.Write(nRecno)
    Response.Write(oVFP.MyEval("code"))
    Response.Write(oVFP.MyEval("name"))

    oVFP.MyDoCmd("SKIP")

End While

oVFP.MyDoCmd("USE IN customer")


สำหรับคำสั่งต่างๆ ที่เหลือก็ทดสอบดู หรือนำไปประยุกต์ตามต้องการ

หากต้องการนำไฟล์ myserver.dll ไปใช้งานกับเครื่องที่ไม่ได้ติดตั้งโปรแกรม Visual FoxPro ต้องทำการติดตั้้ง Runtime ของ Visual FoxPro ไปแทน


สวัสดี   /:-{)
"I Believe in You"

Copyright(c) 2007 - 2022 by Kasem Kamolchaipisit.