拡張ストアド プロシージャをテストしたいと思います (現在は非推奨になっていることはわかっていますが、個人的な理由からテストしたいと思います)。
私はVC ++でdllファイルを生成しました。ここに私のコードがあります:
//First.h
#include<iostream>
#include<srv.h>
using namespace std;
RETCODE _declspec(dllexport) xp_firstfun(SRV_PROC *srvproc);
と
//main.cpp
#include<iostream>
#include "First.h"
using namespace std;
RETCODE xp_firstfun(SRV_PROC *srvproc)
{
cout<<"Hello World froom DLL"<< endl;
cin.get();
return 0;
}
次のコマンドを使用して、この dll をデータベースに正常に追加できます。
sp_addextendedproc 'xp_firstfun', 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\FirstDLL.dll'
しかし、関数を実行しようとすると:
exec xp_firstfun
私はこのエラーに直面しています:
ライブラリ C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\FirstDLL に関数 xp_firstfun が見つかりませんでした。理由: 127(手順が見つかりません)。
2 つの質問があります。
- 私の C++ コードは正しいですか?
- この関数をdllで呼び出すには、SQLでさらに何かをする必要がありますか?
助けてくれてありがとう