 |
|
ท่านใดเคยเจอ error "Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value." แบบนี้บ้างคะ |
|
 |
|
|
 |
 |
|
ท่านผู้รู้ท่านใดเคยเจอปัญหาที่ขึ้น Error นี้
Code
"Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value."
บ้างคะ อยากทราว่าเกิดจากสาเหตุใดและต้องแก้ไขยังไงคะ ในฐานข้อมูลเก็บข้อมูลวันที่ในรูปแบบ dd/mm/yyyy เป็น string ปัญหาดังกล่าวเกิดจากการค้นหาข้อมูลในช่วงระหว่างวันที่ ซึ่งดิฉันจะ convert string ให้เป็น datetime แล้วก็มา compare คะโดยมีคำสั่ง SQL
Code (ASP)
"SELECT a.job_id, a.court_id, b.prefix_name + a.first_name + ' ' + a.last_name AS user_nm, a.send_date, c.office_name_abbr AS office_nm, a.detail_user, a.status AS sid, d.status_name, a.fix_id, a.queNo, a.dill_date, a.dill_time
FROM job_master a INNER JOIN
status d ON a.status = d.status_id INNER JOIN
office c ON a.office_id = c.office_id INNER JOIN
prefix_code b ON a.prefix_code = b.prefix_code
WHERE (CONVERT(datetime, a.send_date, 120) >= CONVERT(datetime, '2012-02-27', 120)) AND (CONVERT(datetime, a.send_date, 120) <= CONVERT(datetime, '2012-03-02',120)) AND (a.use_flag = 'y') AND (a.office_id = '9') AND (a.court_id = '1')
ORDER BY a.job_id"
ขอบคุณคะ
Tag : ASP, Ms SQL Server 2005, JavaScript, VBScript
|
|
 |
 |
 |
 |
Date :
2012-03-02 15:51:34 |
By :
nukrong |
View :
4431 |
Reply :
6 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แนะนำให้เปลี่ยน ให้เก็บเ็ป็น DateTime ไปเลยดีกว่า
หรือถ้าจะเก็บเป็น Text ก็ให้เก็บเป็นรูปแบบ YYYY-MM-DD
ไม่งั้น Performance ระบบจะไม่ดี
|
 |
 |
 |
 |
Date :
2012-03-02 17:15:06 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเปลี่ยนแล้วให้เป็นรูปแบบ YYYY-MM-DD แล้วก็ใช้เงื่อนไขดังกล่าวก็ยังเกิดปัญหาเหมือนเดิมเลยคะ
|
 |
 |
 |
 |
Date :
2012-03-02 20:27:50 |
By :
nukrong |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
odbc_connect(): SQL error: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied., SQL state 08001 in SQLConnect in c:\appserv\www\ref\adodb\drivers\adodb-odbc.inc.php on line 60
ใครเคยเจอปันหาแบบนี้บ้างคะ หาวิธีแก้ไม่ได้อ่ะคะ
|
 |
 |
 |
 |
Date :
2012-05-21 11:12:32 |
By :
ฺฺBB |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มีปัญหาเรื่องใช้ข้อมูลที่เป็นเวลาให้เก็บเป็น type datetime ดีกว่า....ไม่ใช้อีกว่า....แต่ต้องเก็บเป็น datetime เลยหล่ะ
แต่ถ้าไม่ได้จริงให้ลองข้อมูลดูว่าต้องใช้เคสฟอร์แมทไหน
YYYY-DD-MM
YYYY-MM-DD
DD-MM-YYYY
MM-DD-YYYY
สักอันหนึ่งต้องได้ค่ะ
หรือไม่ที่ไม่ได้และเป็นบ่อยคือ
YYYY เป็นส่งไปเป็นพ.ศ. แต่ DB รับเป็น ค.ส.
หรือส่งไปเป็น ค.ส. แต่ DB รับเป็น พ.ศ.
มันเสี่ยงมีปัญหามากเวลา Deploy แต่ละเครื่องจะตั้ง region และ formate ต่างกัน ก็จะมีปัญหา ตั้งเป็น Datetime จะแก้ปัญหาได้
|
 |
 |
 |
 |
Date :
2012-05-21 11:33:25 |
By :
nstk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|