รายงานไม่สามารถเชื่อมต่อกับ SQL Server ได้หาก Windows Authetication

ฉันต้องการดูตัวอย่างรายงานในโปรแกรม Delphi 7 ที่เชื่อมต่อกับฐานข้อมูล SQL ฐานข้อมูลสามารถใช้ SQL หรือ Windows Authentication

หากการรับรองความถูกต้อง SQL โปรแกรมของฉันทำ:

MyReportComponent.Connect.Server:=myServer;
MyReportComponent.Connect.UserId:=myUserId;
MyReportComponent.Connect.Password:=myPassword;
MyReportComponent.Connect.Database:=myDatabase;
MyReportComponent.Execute;

และทุกอย่างทำงานได้ดี

แต่ถ้าเซิร์ฟเวอร์ใช้ Windows Authentication จะไม่มีคุณสมบัติใน Connect ที่จะระบุได้ และหากฉันกำหนด UserId และรหัสผ่านเป็นค่าว่าง รายงานจะไม่เชื่อมต่อกับฐานข้อมูล!

มีเบาะแสอะไรบ้าง?

ขอบคุณล่วงหน้า!


person Franklin Albricias    schedule 16.10.2010    source แหล่งที่มา


คำตอบ (2)


ขึ้นอยู่กับฐานข้อมูลจริงที่คุณใช้ จะมีข้อความวิเศษที่คุณเพิ่มลงในคุณสมบัติ ConnectionString สำหรับเซิร์ฟเวอร์ MS-SQL คุณอาจลอง:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;

หากคุณใช้การเข้าถึง OLE เหมือนที่เราอยู่ที่นี่ วิซาร์ดการเชื่อมต่อ Delphi มีข้อมูลมากมายที่คุณต้องการ ดังนั้นจึงคุ้มค่าที่จะลองเล่นดู โดยเฉพาะอย่างยิ่งใน Delphi เวอร์ชันหลังๆ ฉันไม่แน่ใจว่า Delphi7 ไปได้ไกลแค่ไหน (ตอนนี้ไม่มีสำเนาติดตัวไปด้วย ขออภัย)

person Community    schedule 17.10.2010

ในการรับรองความถูกต้องแบบรวมของ Windows ผู้ใช้จะระบุชื่อผู้ใช้และรหัสผ่านของเขาเมื่อเขาเข้าสู่ระบบ Windows Windows เป็นผู้ตรวจสอบสิทธิ์ ไม่ใช่ตัวผู้ใช้หรือแอปพลิเคชัน โดยใช้กลไกต่างๆ ขึ้นอยู่กับการกำหนดค่าและสถานะของเครือข่าย เช่น Kerberos, NTLM2 เป็นต้น

person Gennady Vanin Геннадий Вани&    schedule 17.10.2010