เชื่อมต่อ FireDAC กับ SQL Server ผ่าน ODBC Driver 17 แทน SQL Server Native Client
ฉันต้องการเชื่อมต่อแอปพลิเคชัน FireDAC ของฉันโดยใช้ Microsoft ODBC Driver ล่าสุดสำหรับ SQL Server 17 แต่การเชื่อมต่อของฉันจะใช้ไดรเวอร์ SQL Server Native Client 11 เสมอ
นี่คือรหัสที่ฉันพยายามระบุไดรเวอร์ที่ต้องการ:
FireDriverLink := TFDPhysMSSQLDriverLink.Create(nil);
FireDriverLink.ODBCDriver := 'ODBC Driver 17 for SQL Server';
FDConnection.DriverName := FireDriverLink.BaseDriverId;
ในการตรวจสอบไดรเวอร์ที่ใช้ฉันขอยกข้อยกเว้นและอ่านข้อความแสดงข้อผิดพลาด:
FDConnection.ExecSQL('select convert(integer, ''X'')');
[FireDAC] [Phys] [ODBC] [Microsoft] [SQL Server Native Client 11.0][SQL Server] ข้อผิดพลาดในการสนทนา al convertir el valor varchar 'X' al tipo de datos int.
วิธีที่ถูกต้องในการบอกให้ FireDAC ใช้ ODBC Driver สำหรับ SQL Server 17 เป็นอย่างไร นอกจากนี้ฉันสามารถบอก FireDAC ให้ใช้ ODBC Driver ล่าสุดในเวลาออกแบบแทนไคลเอนต์ดั้งเดิมได้หรือไม่
ขอขอบคุณ.
คำตอบ
สำหรับเวลาออกแบบ: วาง TFDPhysMSSQLDriverLink บนโมดูลข้อมูลหรือฟอร์มและตั้งค่าไดรเวอร์ ODBC เป็น: ODBC Driver 17 สำหรับ SQL Serverในรายการแบบหล่นลง
หลังจากนั้นเปิดการเชื่อมต่อ TFDC ของคุณและเปลี่ยนไปที่แท็บข้อมูลและตรวจสอบว่าไดรเวอร์ใดใช้งานได้พร้อมกับบันทึกย่อที่กล่าวถึง
หมายเหตุจาก OP: ในการทำงานสำหรับฉันฉันจำเป็นต้องตั้งชื่อให้กับคอมโพเนนต์ TFDPhysMSSQLDriverLink บนคุณสมบัติ DriverID และตั้งชื่อนั้นเป็นคุณสมบัติ DriverName ของ TFDConnection