暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C语言连接GaussDB T数据库执行SQL语句

原创 章芋文 2019-12-30
1161

华为GaussDB T数据库支持C-API,本文介绍使用C连接GaussDB T数据库,并执行insert语句。
c语言使用起来非常方便,在初始化数据、测试数据、压测、二次开发等都可以直接用c来完成,提升效率。

1、下载gaussdb T C语言客户端:
gaussdb_c_client.tar.gz : https://www.modb.pro/download/3533
ps:安装包内也包含了相关客户端的驱动。

2、解压客户端文件:

tar zxvf GaussDB_100_1.0.0-CLIENT-C-REDHAT-64bit.tar.gz mv GaussDB_100_1.0.0-CLIENT-C-REDHAT-64bit CLIENT-C

3、编辑gauss_conn_test.c程序:

#include <stdio.h> #include "/home/omm/c_gauss/CLIENT-C/include/gsc.h" int test_conn_db(char * url, char * user, char * password) { gsc_stmt_t gsc_stmt = NULL; gsc_conn_t gsc_conn = NULL; //alloc connection if (gsc_alloc_conn(&gsc_conn) != GSC_SUCCESS) { return GSC_ERROR; } //connect if (gsc_connect(gsc_conn, url, user, password) != GSC_SUCCESS) { printf("connect failed\n"); return GSC_ERROR; } //alloc stmt if (gsc_alloc_stmt(gsc_conn, &gsc_stmt) != GSC_SUCCESS) { printf("alloc_stmt failed\n"); return GSC_ERROR; } //insert test data if (gsc_prepare(gsc_stmt, "insert into steven_test values (3,'gauss','modb')") != GSC_SUCCESS) { printf("prepare failed\n"); return GSC_ERROR; } if (gsc_execute(gsc_stmt) != GSC_SUCCESS) { printf("execute failed\n"); return GSC_ERROR; } if (gsc_commit(gsc_conn) != GSC_SUCCESS) { return GSC_ERROR; } //disconnect from gaussdb gsc_free_stmt(gsc_stmt); gsc_disconnect(gsc_conn); gsc_free_conn(gsc_conn); //to avoid using wild pointer, user should set conn NULL after free gsc_stmt = NULL; gsc_conn = NULL; return GSC_SUCCESS; } void main() { int result = test_conn_db("127.0.0.1:1888", "steven", "modb123$"); return; }

4、编译c文件:

gcc -o gauss_conn_test gauss_conn_test.c -L/home/omm/c_gauss/CLIENT-C/lib -lzeclient

5、运行c程序:

./gauss_conn_test

6、使用watch重复运行c程序:

#也可以使用其他方式 watch ./gauss_conn_test Every 2.0s: ./gauss_conn_test

7、查看结果:

zsql SYS/Changeme_123@127.0.0.1:1888 -q connected. SQL> select * from steven.steven_test; ID CLASS_NAME NAME ---------------------------------------- ------------------------------ -------------------------------------------------- 1 222 steven 1 222 steven 1 222 steven 1 222 steven 1 222 steven 1 222 steven 2 2 3 data modb 2 2 2 3 gauss modb 3 gauss modb 3 gauss modb 3 gauss modb 3 gauss modb 3 gauss modb 3 gauss modb 3 gauss modb 20 rows fetched.
最后修改时间:2019-12-30 15:58:50
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论