リモート SQL Server 2005 db からストアド プロシージャを呼び出して、C++ で記述されたアプリケーションを読んでいます。
リモート SP 呼び出しを行うために 2 つの異なる方法を使用していることがわかりました。
dbfcmd を使用する
int ProcessMsg1(PDBPROCESS dbproc){ dbfcmd(dbproc,"exec message1_proc '%s'",blk->msgtype); dbsqlexec(dbproc); if (dbretstatus(dbproc)==-1) printf("dbsqlexec failed.\n"); }
dbrpcinit、dbrpcparam、dbrpcsend を使用する
int ProcessMsg2(PDBPROCESS dbproc){ dbrpcinit(dbproc, "message2_proc", (DBSMALLINT)0); dbrpcparam(dbproc, "@MType", 0, SQLCHAR, 4, 4, blk->msgtype); if ((dbrpcsend(dbproc) == FAIL)) printf("dbrpcsend failed.\n"); }
Google の 2 つの方法の比較は見つかりませんでした。誰でも2つの方法の違いを説明できますか?いつ何を使用する必要がありますか?