【发布时间】:2012-11-05 19:18:11
【问题描述】:
我正在使用我的 macbook pro 进行编程,需要连接到我公司的 MSSQL 服务器以对商业产品进行编程。
您实际上是如何连接到它的?我在看 MSDN 网站,但我不太明白。
出于演示的目的,我只是要在 XCODE 中创建一个新项目,然后创建一个将输出数据的控制台应用程序。一旦建立起来,就不能通过连接实现不同的东西。
编辑:添加了一些代码:
#include <iostream>
//#include <windows.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <sql.h>
using namespace std;
int main(int argc, const char * argv[])
{
SQLHENV hEnv;
SQLHDBC hDbc;
string connection = "AAA";
string db = "DB";
string user = "user";
string pass = "password";
string data = "DRIVER={SQL Server Native Client 11.0};SERVER="+connection+";DATABASE="+db+";UID="+user+";PWD="+pass+";";
//SQLCHAR* pwszConnStr = (SQLCHAR*)("Driver={SQL Server Native Client 11.0};Server="+connection+";Database="+db+";Uid="+user+";Pwd="+pass+";");
SQLCHAR* pwszConnStr = (SQLCHAR*)data.c_str();
//cout << data << endl;
cout << pwszConnStr << endl;
//error seems to occur in 1 of the 3 SQL statements below.
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
RETCODE rc = SQLDriverConnect(hDbc, NULL, pwszConnStr, SQL_NTS, NULL, 0, NULL, SQL_DRIVER_PROMPT);
if(rc == SQL_SUCCESS){
cout << "Connected to the Database" << endl;
}else{
cout << "No Connection Established" << endl;
}
return 0;
}
它无法编译,我认为这与我注释掉 windows.h 文件有关。问题是在我的 macbook pro 上找不到 windows.h,并且在 VStudios 中开发时发现它。
【问题讨论】:
标签: c++ sql-server database odbc