栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言连接并操作Sedna XML数据库的方法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言连接并操作Sedna XML数据库的方法

本文实例讲述了C语言连接并操作Sedna XML数据库的方法。分享给大家供大家参考。具体如下:

#include "libsedna.h" 
#include "stdio.h" 
int handle_error(SednaConnection* conn, 
  const char* op, 
  int close_connection) { 
  printf("%s failed: n%sn", op, SEgetLastErrorMsg(conn)); 
  if(close_connection == 1) SEclose(conn); 
  return -1; 
} 
int main() { 
 struct SednaConnection conn = SEDNA_CONNECTION_INITIALIZER; 
 int bytes_read, res, value; 
 char buf[1024]; 
  
 value = SEDNA_AUTOCOMMIT_OFF; 
 res = SEsetConnectionAttr(&conn, SEDNA_ATTR_AUTOCOMMIT, 
(void*)&value, sizeof(int)); 
  
 res = SEconnect(&conn, "localhost", "test_db", 
  "SYSTEM", "MANAGER"); 
 if(res != SEDNA_SESSION_OPEN) 
  return handle_error(&conn, "Connection", 0); 
  
 res = SEbegin(&conn); 
 if(res != SEDNA_BEGIN_TRANSACTION_SUCCEEDED) 
  return handle_error(&conn, "Transaction begin", 1); 
  
 res = SEexecute(&conn, "LOAD 'region.xml' 'region'"); 
 if(res != SEDNA_BULK_LOAD_SUCCEEDED) 
  return handle_error(&conn, "Bulk load", 1); 
  
 res = SEexecute(&conn, "doc('region') 
 while((res = SEnext(&conn)) != SEDNA_RESULT_END) { 
  if (res == SEDNA_ERROR) 
   return handle_error(&conn, "Getting item", 1); 
  do { 
   bytes_read = SEgetData(&conn, buf, sizeof(buf) - 1); 
   if(bytes_read == SEDNA_ERROR) 
    return handle_error(&conn, "Getting item", 1); 
   buf[bytes_read] = ''; 
   printf("%sn", buf); 
  } while(bytes_read > 0); 
 } 
  
 res = SEexecute(&conn, "DROP document 'region'"); 
 if(res != SEDNA_UPDATE_SUCCEEDED) 
  return handle_error(&conn, "Drop document", 1); 
  
 res = SEcommit(&conn); 
 if(res != SEDNA_COMMIT_TRANSACTION_SUCCEEDED) 
  return handle_error(&conn, "Commit", 1); 
  
 res = SEclose(&conn); 
 if(res != SEDNA_SESSION_CLOSED) 
  return handle_error(&conn, "Close", 0); 
 return 0; 
}

希望本文所述对大家的C语言程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/65130.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号