コンソールの C++ アプリケーションから SQLServer データベースに接続したいと考えています。Microsoft SQL Server を使用して、「Test」という名前のデータベースを作成しました。また、sqlapi.com から sqlapi を「インストール」しました。手始めに、sqlapi に同梱されている変更されたサンプル コードを使用して、そのデータベースに接続したいだけです。
#include <stdio.h> // for printf
#include <SQLAPI.h> // main SQLAPI++ header
int main(int argc, char* argv[])
{
SAConnection con; // create connection object
printf("Howdy!\n");
try
{
con.Connect("Test","COMPNAME\Username","Pwd", SA_SQLServer_Client); // database name// user name //password
printf("We are connected!\n");
// Disconnect is optional
// autodisconnect will ocur in destructor if needed
con.Disconnect();
printf("We are disconnected!\n");
}
catch(SAException &x)
{
// SAConnection::Rollback()
// can also throw an exception
// (if a network error for example),
// we will be ready
try
{
// on error rollback changes
con.Rollback();
}
catch(SAException &)
{
}
// print error message
printf("%s\n", (const char*)x.ErrText());
}
return 0;
}
正常にコンパイルされ、エラーは発生しませんが、接続に失敗します。私はC++の基本よりも少し知っていますが、SQLは昨日から始めました。接続についていくつか質問があります。
- SQL Server 2008 Express のインストール中に、Username という新しい Windows ユーザー アカウントをパスワード Password で作成しました
- 接続しようとするとき、データベース名に「Test」を付けるだけで十分ですか、それとも Test.db などにする必要がありますか。ユーザー名については、接続するにはコンピューター名\ユーザー名を書く必要がありますか、それとも単に「ユーザー名」と書く必要がありますか
- SQLserver をインストールするときに「自動開始」ボックスにチケットを送信しましたが、タスクマネージャーで SQL が実行されていることがわかります。それはサーバーですか、それとも接続を試みる前に何らかの方法で手動で起動する必要がありますか?
- データベースを作成したアカウントのユーザーとしてログインする必要がありますか、それともユーザー名とパスワードを知っていれば十分ですか?
- 認証方式は「Windows認証」
問題がどこにあるのか理解できると思いますが、これらの有名な最初のステップです....(VSでプロジェクトをセットアップする方法を理解するまでにかなりの時間がかかりました... ;-))いくつかの答え、またはそれらを見つけることができる場所のヒント (素敵な本やリンク) に感謝します。