Maka saya perlu membuat class dan mendaftarkan batch nya seperti yang ada di tutorial: https://msdn.microsoft.com/en-us/library/cc636647.aspx. Di dalam class tersebut saya isikan proses query terhadap database eksternal yang tutorialnya ada di: https://msdn.microsoft.com/en-us/library/ee677510.aspx
Namun ternyata tidak semudah yang dibayangkan. Job menghasilkan pesan error: "Data source not found and no default driver specified"
Dari searching di google, disebutan karena tidak ditemukannya DSN di system. Karena kita menggunakan ODBC maka kita harus membuat DSN sebagai settingan koneksi. Setelah saya tambah terjadi error yang berbeda: "The specified DSN contains an architecture mismatch between the Driver and Application"
Kali ini error tersebut karena masalah ODBC 32 bit yang digunakan untuk 64 bit. Jika kita menjalankan class itu di sisi client (via job manual) maka kita harus setting DSN di ODBC 32 bit. Namun karena kita jalankan melalui batch maka yang dipakai adalah ODBC 64 bit. Penjelasannya di: http://dynamics-ax-live.blogspot.co.id/2009/09/error-data-source-name-not-found-and-no.html
Selanjutnya ternyata masih error sebagai berikut:[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open database "DB_finger" requested by the login. The login failed.
Error ini cukup lama saya cari solusinya. Karena saya tidak berhasil mencari informasi jelas di google atas problem ini. Dari pesan errornya masalahnya adalah masalah login yang gagal. Di DNS saya sudah setting user/password dengan benar. (Saya check koneksinya juga ok). Saya juga sempat mengosongkan password untuk user tersebut, namun tetap tidak berhasil dengan pesan yang sama.
Akhirnya titik terang muncul setelah saya mencoba mengganti driver ODBC menjadi SQL Server Native Client 11.0 (SQL Server 2012) karena kemudian muncul pesan yang berbeda. "Login failed for ...."
Dari error ini menjadi jelas, karena ternyata batch server AX tidak menggunakan user & password yang di setting di DSN. Namun menggunakan user yang sama dengan user dimana AOS service digunakan. Dan ketika saya tambahkan hak akses user tersebut terhadap database yang saya tuju ternyata hasilnya berjalan dengan sempurna.
Tidak ada komentar:
Posting Komentar