MSSQL数据库连接方式比较:传统与新型技术(mssql连接方式区别)
随着云应用的日渐流行,MSSQL 数据库的连接方式也发生了变化。我们将从两个方面介绍连接数据库的传统方式和新型技术,分别是ODBC和OData。
传统方式:ODBC(Open Database Connectivity)
ODBC是一种通用的连接数据库标准,用于程序在不同系统/平台/数据库上交换数据。它允许应用程序通过ODBC驱动程序连接和操作MSSQL数据库。它利用SQL语句来连接和操作数据库,如建立连接,执行查询,检索数据等。
下面的示例代码展示了如何使用ODBC连接MSSQL数据库:
“`
#include
#include
#include
#include
//全局变量
SQLHENV henv;//enviroment handle
SQLHDBC hdbc;//connetion handle
SQLHSTMT hstmt;//statement handle
SQLRETURN retcode;//return code variable
void ODBC_Connect()
{
//分配Enviroment handle
if(SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv)!=SQL_SUCCESS)
{
printf(“分配Enviroment handle失败!\n”);
}
else
{
printf(“分配Enviroment handle成功!\n”);
}
//Enviroment handle设置
if(SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_UINTEGER)!=SQL_SUCCESS)
{
printf(“Enviroment handle设置失败!\n”);
}
else
{
printf(“Enviroment handle设置成功!\n”);
}
//分配链接句柄
if(SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc)!=SQL_SUCCESS)
{
printf(“分配链接句柄失败!\n”);
}
else
{
printf(“分配链接句柄成功!\n”);
}
//连接数据库
char connStr[100]=”Driver={SQL Server};Server=localhost;database=Test;uid=sa;pwd=123″;
if(SQLDriverConnect(hdbc,NULL,(SQLCHAR *)connStr,SQL_NTS,NULL,0,NULL,SQL_DRIVER_NOPROMPT)!=SQL_SUCCESS)
{
printf(“连接数据库失败!\n”);
}
else
{
printf(“连接数据库成功!\n”);
}
//分配语句句柄
if(SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt)!=SQL_SUCCESS)
{
printf(“分配语句句柄失败!\n”);
}
else
{
printf(“分配语句句柄成功!