ODBC 连接数据库 SQL server 2008

1、打开【控制面板】-> 【系统和安全】 -> 【管理工具】-> 【数据源(ODBC)】 

ODBC 连接数据库 SQL server 2008_第1张图片


2、双击【数据源(ODBC)】-> 选中【系统DSN】

ODBC 连接数据库 SQL server 2008_第2张图片

3、单击【添加】,会弹出如下对话框,选中【SQL server】->【完成】

ODBC 连接数据库 SQL server 2008_第3张图片

4、弹出如下对话框,在【名称】中填入数据源名称 例如:我命名为: LocalServer,在【服务器】中填入计算机名或者IP地址,我连接的是本机:ANGELNIU-PC(或者是59.73.212.67)

ODBC 连接数据库 SQL server 2008_第4张图片

注:服务器名称如果不知道的话,在打开数据库的时候可以看见

ODBC 连接数据库 SQL server 2008_第5张图片

5、单击【下一步】 在【登录ID】和【密码】处需填入可以以“SQL server身份验证”登录到数据库的登录名 ,并具有一定的查询权限,选择及填入情况如下图所示:

ODBC 连接数据库 SQL server 2008_第6张图片

需要注意的一点是:检查一下【客户端配置】中是否选中了【动态端口】,如果选中了则取消,并在端口号中填入1433,否则会出现错误,具体原因不是很清楚。。。

ODBC 连接数据库 SQL server 2008_第7张图片

6、上一步完成之后进入如下界面,【更改默认数据库】一栏选择要操作的数据库名称,点击【下一步】

ODBC 连接数据库 SQL server 2008_第8张图片

7、出现如下界面,不需要任何操作,点击【完成】

ODBC 连接数据库 SQL server 2008_第9张图片

8、在弹出的界面中单击【测试数据源】,弹出如下界面,即表示连接成功,单击确定,结束即可。

ODBC 连接数据库 SQL server 2008_第10张图片


9、在Visual Studio 2010中新建一个项目,写入如下代码:

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define M 32


SQLHENV		henv = SQL_NULL_HENV;
SQLHDBC		hdbc1 = SQL_NULL_HDBC;
SQLHSTMT	hstmt1 = SQL_NULL_HSTMT;


int main()
{
	SQLCHAR DSN[]="LocalServer";
	SQLCHAR user[]="sa";
	SQLCHAR pwd[]="";

	RETCODE ret;

	SQLCHAR		name[M];
	SQLINTEGER	nameLen;
	SQLINTEGER	age;
	SQLINTEGER	ageLen;


	ret = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv);

	ret = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);

	ret = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1);

	ret = SQLConnect(hdbc1,	DSN,SQL_NTS, user,SQL_NTS, pwd,SQL_NTS);
	if ( !SUCCEEDED(ret) ) {             //if ( (ret != SQL_SUCCESS) && (ret != SQL_SUCCESS_WITH_INFO) ) {
	   	 printf("Fail to connect !\n");
	}
	else {
	   	 printf("Connection OK !\n");
	}


	ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);
	ret = SQLPrepare(hstmt1, (UCHAR*)"SELECT Sname,Sage FROM Student", SQL_NTS);
	ret = SQLExecute(hstmt1);
	// Previous two statements can be replaced with the following one:
	// ret = SQLExecDirect(hstmt1, (UCHAR*)"SELECT Sname,Sage FROM Student", SQL_NTS);

	ret = SQLBindCol(hstmt1, 1, SQL_C_CHAR, name, M, &nameLen);
	ret = SQLBindCol(hstmt1, 2, SQL_C_LONG, &age, 0, &ageLen);

	while ( ( ret = SQLFetch(hstmt1) ) != SQL_NO_DATA )
		printf("%s, %d\n", name,age);


	SQLFreeHandle(SQL_HANDLE_STMT, hstmt1);
	SQLDisconnect(hdbc1);
	SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);
	SQLFreeHandle(SQL_HANDLE_ENV, henv);
    system("pause");
	return(0);
}

10、执行代码。显示如下界面,ODBC成功连接数据库!!!

ODBC 连接数据库 SQL server 2008_第11张图片





你可能感兴趣的:(语言_SQL)