C语言通过ODBC连接access数据库总是不成功,求各位大神帮解决,谢谢
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <sqlext.h> //这个应该是必须的, 链结时需要odbc32.lib
int main() {
SQLHENV henv = NULL; //环境句柄
SQLHDBC hdbc = NULL; //odbc连接句柄
SQLHSTMT hstmt = NULL; //语句句柄
SQLRETURN retcode;
SQLCHAR connout[256];
SQLSMALLINT connout_len;
SQLCHAR connstr[] = "Driver={Microsoft Access Driver (*.mdb)};Dbq=E:\\Room AC thermal dynamic calculation\\RTS Data File\\Envelope_Database.mdb;Uid=admin;Pwd=;CharSet=gbk;";
//分配环境
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
//设置环境属性
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
//分配链结
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//创建数据库链结
retcode = SQLDriverConnect(hdbc, NULL, connstr, SQL_NTS, connout, sizeof(connout), &connout_len, SQL_DRIVER_NOPROMPT);
//retcode = 0;
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
printf("connnect access ok!\n");
printf("%s\n", connout);
}
else {
printf("failure!\n");
}
}
大家好,小弟是编程方面的新手,在c语言调用access数据库时遇到一些问题不能解决,希望大家帮我一下,谢谢!
我是参照http://blog.csdn.net/jueane/article/details/12034571这篇博客直接copy进VS 2013的,但是retcode =SQLDriverConnect这段返回值总是-1,数据库调用总是不成功。
数据库我已经放到系统DSN中去了(其实我不懂这样做的目的)

也没有设置密码之类的东西

这是数据库

希望大家帮我解决一下这个问题,谢谢!
...全文
相关推荐
C语言连接Access数据库
### C语言连接Access数据库知识点详解#### 一、引言在软件开发过程中,数据库的访问与操作是一项基本且重要的任务。
Access2010数据库ODBC驱动
**连接和操作**:在应用程序中,使用相应的编程语言(如C++、Java、Python等)编写代码,通过ODBC连接数据源并执行SQL命令。
如何使用ODBC来连接ACCESS数据库
本教程将深入讲解如何使用ODBC来连接ACCESS数据库,并通过VC++使用ADO进行数据库操作。首先,要建立ODBC数据源,你需要完成以下步骤:1.
html连接access数据库的小例子
同时,考虑使用更安全的数据库连接方式,如ODBC连接池,以及更现代的Web开发框架,如ASP.NET或Node.js搭配Express等。
Access连接数据源(ODBC)配置(新手必知)
例如,如果你需要连接到Access数据库,你需要确保已经安装了Microsoft Access Database Engine (ACE) ODBC驱动。


