- ไปดูตัวอย่างการใช้ 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