odbc配置和连接代码
2013-09-24 17:16
239 查看
使用c语言通过odbc 连接数据库,其中的配置操作相当的麻烦,之前不接触数据库编程的,当时想想无非就是存储数据而已。 现在想想,也还是存储数据。
第一步数据源配置,在所有程序-> 管理工具->数据源(odbc) 。 也可以在控制面板下面找到管理工具这一项。
说道配置,真的说来话长。
使用的是 sql server 2005 express 版本,精简,免费,最重要的原因是pc上已经安装了此版本。
因为太过精简的原因,连一些基本的配置工具都没有,后来还是要到官网上去下载配置工具 SQLServer2005_SSMSEE.msi 。 通过这个工具用窗口的方式连接到数据库。
参考的配置文档,个人感觉这篇比较全面些 http://hi.baidu.com/zhangqijun/item/45e166ab657d691fa8cfb7ea
这里第二副图 你想连接的是哪个 SQL Server,看了好些文档都说是 local。 反正我这里是不行。偶然间不知道在哪里看到,填的是第一幅图中框起来的那一串。 至于这一串是怎么生成的,不知道。 反正代表的是连接的服务器。 将此数据源命名为myfeeling, 然后在代码编辑中连接的,也就是这个数据源了。 测试中证实确实如此。
唉,反正是看了多篇文档才给胡整出来的,期间还有许多配置,被省略去。
贴上最后的代码,看别人的代码也是糊里糊涂的,不过还是连接上了。
没什么营养,做个小记。
第一步数据源配置,在所有程序-> 管理工具->数据源(odbc) 。 也可以在控制面板下面找到管理工具这一项。
说道配置,真的说来话长。
使用的是 sql server 2005 express 版本,精简,免费,最重要的原因是pc上已经安装了此版本。
因为太过精简的原因,连一些基本的配置工具都没有,后来还是要到官网上去下载配置工具 SQLServer2005_SSMSEE.msi 。 通过这个工具用窗口的方式连接到数据库。
参考的配置文档,个人感觉这篇比较全面些 http://hi.baidu.com/zhangqijun/item/45e166ab657d691fa8cfb7ea
这里第二副图 你想连接的是哪个 SQL Server,看了好些文档都说是 local。 反正我这里是不行。偶然间不知道在哪里看到,填的是第一幅图中框起来的那一串。 至于这一串是怎么生成的,不知道。 反正代表的是连接的服务器。 将此数据源命名为myfeeling, 然后在代码编辑中连接的,也就是这个数据源了。 测试中证实确实如此。
唉,反正是看了多篇文档才给胡整出来的,期间还有许多配置,被省略去。
#include <stdio.h> #include <windows.h> #include <sql.h> #include <sqlext.h> #include <sqltypes.h> #include <odbcss.h> int main(){ // 环境句柄 SQLHENV henv ; // 连接句柄 SQLHDBC hdbcl ; // 语句句柄 SQLHSTMT hstmt ; // 返回值 SQLRETURN retcode; UCHAR szDSN[SQL_MAX_DSN_LENGTH+1]="myfeeling", szUID[MAXNAME]="sa",szAuthStr[MAXNAME]="9527"; UCHAR sql[40]="insert into Student values('aaa','100')"; UCHAR pre_sql[29]="insert int test values(?,?)"; retcode = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv); if((retcode!=SQL_SUCCESS)&&(retcode!=SQL_SUCCESS_WITH_INFO)) { printf("环境句柄失败!\n"); return 0; } SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER); retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbcl); if ((retcode != SQL_SUCCESS )&&( retcode != SQL_SUCCESS_WITH_INFO)) { printf("连接句柄失败!\n"); return 0; } retcode = SQLConnect(hdbcl,szDSN,26,szUID,2,szAuthStr,6); if ((retcode != SQL_SUCCESS)&&(retcode != SQL_SUCCESS_WITH_INFO)) { printf("连接数据源失败"); return 0; } retcode = SQLAllocHandle(SQL_HANDLE_STMT,hdbcl,&hstmt); if ((retcode != SQL_SUCCESS)&&(retcode != SQL_SUCCESS_WITH_INFO)) { printf("语句句柄失败"); return 0; } retcode = SQLExecDirect(hstmt,sql,40); SQLDisconnect(hdbcl); SQLFreeHandle(SQL_HANDLE_DBC,hdbcl); SQLFreeHandle(SQL_HANDLE_ENV,henv); return 0; }
贴上最后的代码,看别人的代码也是糊里糊涂的,不过还是连接上了。
没什么营养,做个小记。
相关文章推荐
- java用odbc连接orcale(配置odbc,连接代码)
- DATASTAGE中ODBC连接的配置
- ubuntu14.04配置impala的odbc连接
- 我想问一下如何直接连接ACCESS数据库,不用ODBC的方法?能提供代码吗?
- OTL连接MySQL之unixODBC、mysql-connector-odbc安装配置
- 学生信息管理系统——ODBC连接和SQL配置连接
- 在ASP.NET项目中的web.config文件里配置数据库连接并在程序代码中获取连接字符串
- ubuntu14.04配置impala的odbc连接
- JDBC.ODBC连接数据库代码
- 为使用ODBC连接trafodion软件,安装ODBC和配置
- 用C#代码来调用配置数据库连接配置界面
- 用JAVA代码获取Weblogic配置的JNDI 数据源连接
- arcengine在代码中连接MXD中配置好的要素类
- 配置odbc连接oracle数据库
- spss statistics 19.0配置odbc连接远程oracle数据库
- Hibernian连接mysql的配置参考代码
- linux下配置ODBC连接MySql
- MySQL配置SSL之后的JAVA连接MySQL的代码
- VC ODBC连接SQLSERVER2000 插入数据 代码
- 在编写SSH框架的数据库连接代码运行时报错,配置好数据库方言后,它说让我重新配置,求大神帮忙,蟹蟹