นี่คือสคริปต์ที่ฉันใช้
sqlcmd -S. \ ชื่อโฮสต์ ผลตอบแทน 1 & gt; ที่นี่ฉันป้อนชื่อฐานข้อมูล มันใช้งานได้ 2 & gt; ฉันพิมพ์ Go แล้วกด Enter จะส่งคืน "บริบทฐานข้อมูลที่เปลี่ยนแปลงไปเป็นชื่อฐานข้อมูล" จากนั้นฉันป้อนสคริปต์ sql ที่กำหนดเองและกด Enter
ฉันพยายามหาวิธีการทำให้เป็นอัตโนมัติเพื่อให้ฉันสามารถวางไฟล์บนเดสก์ท็อปเรียกใช้มันรันสคริปต์
มันไม่ชัดเจนในสิ่งที่คุณถาม คุณอาจต้องการเรียกใช้แบตช์ไฟล์ที่แจ้งให้ผู้ใช้ระบุชื่อฐานข้อมูลจากนั้นใช้การตอบกลับที่ผู้ใช้ระบุเพื่อรัน sqlcmd
—
Twisty Impersonator
@ Twisty ฉันพบคำตอบสำหรับปัญหานั้น แต่พบปัญหาอื่นในไฟล์เดียวกัน ฉันใช้ echo use databasename | sqlcmd -S. \ database ที่คืนค่า "เปลี่ยนบริบทเป็นชื่อฐานข้อมูล" เหมือนกับที่ฉันต้องการ ขั้นตอนต่อไปที่ฉันต้องการคือการดำเนินการคำสั่ง sql ในตอนนี้บริบทเปลี่ยนไป แต่ฉันไม่สามารถเรียกใช้บิตสุดท้าย ฉันยังใหม่กับสิ่งนี้ดังนั้นขอขอบคุณที่แบกกับฉัน
—
AaronFromEarth
ฉันคิดว่าฉันเข้าใจสิ่งที่คุณพยายามทำ: คุณต้องการส่งคำสั่งอัตโนมัติ
—
Twisty Impersonator
sqlcmd
. หากถูกต้องทำการค้นหาโดย Google ใน "สคริปต์ sqlcmd" คุณต้องเขียนสคริปต์ (ไฟล์ข้อความธรรมดา) ที่มีคำสั่งที่คุณต้องการส่ง sqlcmd จากนั้นเรียกใช้ sqlcmd แล้วบอกให้สคริปต์ทำงาน
ตกลงดังนั้นจึงไม่มีวิธีที่จะเพิ่มรหัสลงในไฟล์แบทช์และไม่มีไฟล์แยกต่างหากที่อ้างอิงสคริปต์จากหรือไม่ ฉันพยายามที่จะมีไฟล์แบตช์ที่ฉันสามารถวางลงบนคอมพิวเตอร์ดำเนินการแล้วลบมันเอง
—
AaronFromEarth
อันที่จริงแล้วมันเป็นไปได้ที่จะทำสิ่งนี้ทั้งหมดจากไฟล์แบตช์ หากคุณแก้ไขคำถามของคุณเป็นสิ่งที่ชอบ ฉันจะรันสคริปต์ SQL แบบกำหนดเองจากแบตช์ไฟล์ได้อย่างไร ฉันสามารถให้คำตอบ แต่ก่อนดูที่วิธีการ เรียกใช้สคริปต์ด้วย sqlcmd เพื่อให้คุณเข้าใจกระบวนการดีขึ้น
—
Twisty Impersonator