我想从我的控制台C++应用程序连接到SQLServer数据库。 我已经使用Microsoft SQL Server来创建一个名为“Test”的数据库。我也从sqlapi.com“安装”了sqlapi。 对于初学者,我只是想使用与sqlapi一起发货的修改示例代码连接到该数据库。使用SQLAPI从C++控制台应用程序连接到SQLServer数据库
#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的我创建了一个叫做用户名与密码,密码一个新的Windows用户帐户
- 当试图连接,是它足以让数据库名称“测试”或者它是Test.db或类似的。对于用户名,我必须写Computername \用户名连接或只是“用户名”
- 我安装SQLserver时票“开始自动”框,并在taskamanager我看到一些SQL的东西运行。那是服务器,还是我必须在尝试连接之前手动启动它?
- 我是否必须以帐户创建数据库的用户身份登录,还是知道用户名和密码就足够了?
- 验证方法为“Windows身份验证”
我想你可能会明白的地方麻烦的是,它这些著名的第一个步骤......(好吧,我花了很长一段时间之前,我想通了如何在VS中建立一个项目... ;-)) 如果你有一些答案或提示我在哪里可以找到它们(一本不错的书或链接),我会非常感激。
尝试使用“COMPNAME \\用户名”,而不是“COMPNAME \ Username” – Erik 2011-03-09 17:47:12
我从来没有听说过sqlapi.com,但是如果他们的代码需要连接Windows用户名*和*密码,它肯定是坏的。为什么不使用经过测试和证明的用于SQL Server的C++ API,如ODBC,OLEDb或ADO? – 2011-03-09 17:52:45