Tuesday, June 23, 2009

The sqlcmd utility in SQL Server

  • ไปดูตัวอย่างการใช้ sqlcmd ที่นี่ ทำไมเราพิมพ์ตามเค้า กลับได้ผลลัพธ์เป็น อาไรก็ไม่รู้
  • ประมาณ host ไม่ได้เปิดให้ remote อาไรประมาณนั้น
  • เครื่องเราใช้ sqlexpress 2005 ไม่รุ้เกี่ยวกันปะ
  • พาธ C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE
  • แต่ถ้าเรารัน cmd ใน mode admin เราไม่ต้อง set path อาไรก็ใช้ได้นะ



  • หลังจากเดาความข้อความที่ขึ้นมาแหละ ลองไปปรับ surface area configuration ดู
  • ค่าเริ่มต้นจะเลือกอยู่ที่ Local connections only เราก็เปลี่ยนไปเลือก Local and remote connections ซะ
  • restart sql engine ซักหน่อย สั่ง sqlcmd ในโหมด admin ก็โอเคแหละ
  • สรุป คือ เปิดให้ remote ได้นั่นเอง จึงจะทำให้เราใช้ sqlcmd บนเครื่องเราได้ กำ งง



เพิ่มเติม
  • ทำไมไม่เห็นให้ใส่ username password ตอน sqlcmd หว่า สงสัยจะ authen โดยใช้ windows user
  • อีกอย่าง เมื่อเราสั่งอาไรเสร็จ เราต้องมี go ด้วย เช่น เราพิมพ์ use northwind แล้วเรา enter เราต้องพิมพ์ go แล้วก็ enter ด้วย คำสั่ง use northwind ถึงจาทำงาน คำสั่งแบบอื่นๆ ก็เช่นกัน
  • สุดท้าย ถ้าเราใช้ sqlexpress ให้เรากำหนด port เป็น 1433 ด้วย เพราะว่าไปลองเครื่องอื่น ตั้ง remote connection ก็ใช้ sqlcmd เฉยไม่ได้ พอลอง เปลี่ยน dynamic พอร์ตเป็น 1433 ก็ใช้ sqlcmd ได้
  • แต่คิดว่า เรื่องพอร์ต เราไม่ต้องตั้งเป็น 1433 ก็ได้มั้งแต่คงต้องใส่ option ของ sqlcmd เพิ่ม หรือป่าว
  • จริงอย่างที่คิด เราใช้แบบ sqlcmd -S localhost,49297 ซึ่ง 49297 เป็น dynamic port sqlexpress
  • หรือ เราเชื่อมต่อแบบนี้ก็ได้นะ sqlcmd -S localhost\sqlexpress
  • ถ้าเราคิดอาไรไม่ออกจริงๆ ก็ sqlcmd /?

ตัวอย่าง สีแดงคือคำสั่งที่เราพิมพ์ลงไป

C:\Windows\system32>sqlcmd
1> use northwind
2> go
Changed database context to 'Northwind'.
1> select top 5 customerid, companyname from customers
2> go
customerid companyname
---------- ----------------------------------------
ALFKI Alfreds Futterkiste
ANATR Ana Trujillo Emparedados y helados
ANTON Antonio Moreno Taquer?a
AROUT Around the Horn
BERGS Berglunds snabbk?p

(5 rows affected)
1>


อ้างอิง

No comments:

Post a Comment

Popular Posts