我想从我的控制台 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 和密码 Password 的新 Windows 用户帐户
- 尝试连接时,将数据库名称命名为“Test”是否足够,或者将其设置为 Test.db 或类似名称。对于用户名,我是否必须写 Computername\Username 才能连接或只是“用户名”
- 在安装 SQLserver 时,我已经为“自动启动”框打了票,在任务管理器中,我看到一些 sql 东西正在运行。那是服务器,还是我必须在尝试连接之前手动启动它?
- 我必须以创建数据库的帐户的用户身份登录,还是知道用户名和密码就足够了?
- 身份验证方法是“Windows 身份验证”
我想你可能明白问题出在哪里了,就是这些著名的第一步......(好吧,我花了很长时间才弄清楚如何在 VS 中建立一个项目......;-))如果你有一些答案,或在哪里可以找到它们的提示(一本好书或链接)我将非常感激。