0

拡張ストアド プロシージャをテストしたいと思います (現在は非推奨になっていることはわかっていますが、個人的な理由からテストしたいと思います)。

私は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でさらに何かをする必要がありますか?

助けてくれてありがとう

4

1 に答える 1