`
tower
  • 浏览: 241822 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

以为informix没有产生sequence的功能,所以自己造了一个车轮

阅读更多

#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>

int lock_reg(int fd)
{
 struct flock lock;
 
 lock.l_type = F_WRLCK;
 lock.l_start = 0;
 lock.l_whence = SEEK_SET;
 lock.l_len = 0; 
 
 return ( fcntl(fd, F_SETLKW, &lock) );
}

int GetSequence(char *Seq_path,int init_flag)
{
 int fd;
 char buffer[10];
 int seq;
 int ret;
 
 fd = open(Seq_path, O_RDWR|O_CREAT, 0644);
 if (fd<0)
 {
  perror("Open SeqPath Error:");
  return -1;
 }
 ret = lock_reg(fd);
 if (ret<0)
 {
  perror("Lock SeqPath Error:");
  close(fd);
  return -1;
 }
 if (init_flag) seq = 1;
 else
 {
  ret=read(fd, buffer, sizeof(buffer));
  if(ret>0) {
   buffer[ret]=0;
   seq=atoi(buffer)+1;
  }
  else seq = 1;
 }
 printf("%s",seq);
 ret=sprintf(buffer, "%09d\n", seq);
 lseek(fd, 0, SEEK_SET);
 write(fd, buffer, ret);
 close(fd);
 return seq;
}

int InitSequence(char *Seq_path)
{
 return ( GetSequence(Seq_path, 1) ); 
}

int AddSequence(char *Seq_path)
{
 return ( GetSequence(Seq_path, 0) ); 
}

int main()
{
 /*printf("Init Sequence %d\n", InitSequence("biz") );*/
 printf("Add Sequence %d\n", AddSequence("biz") );
}

分享到:
评论

相关推荐

    informix考题informix考题

    总结,Informix数据库系统是一个强大且功能丰富的数据管理平台,无论是在传统的业务系统还是新兴的物联网应用中,都能发挥出其独特的价值。了解并掌握Informix的相关知识,对于IT从业者尤其是数据库管理员和开发者来...

    informix for windows数据库安装配置

    Informix 服务器实例管理器是一个图形化的管理工具,提供了多种管理功能,例如创建和管理数据库实例、管理数据库用户和权限、查看数据库状态等。 Informix 数据库特点 Informix 数据库具有多种特点,例如: * ...

    informix学习使用手册

    《Informix学习使用手册》是一本专为Informix学习者设计的全面教程,它涵盖了从基础概念到高级特性的各种主题,旨在帮助初学者、使用者和开发者深入理解并熟练运用Informix数据库系统。这本书详细解释了Informix的...

    informix数据库实现oracle环境instr函数功能

    例如,Oracle数据库中的`INSTR`函数用于查找一个字符串在另一个字符串中的位置,而Informix数据库虽然强大但其原生支持的功能与Oracle并不完全相同。因此,在某些情况下,开发人员可能需要编写特定的函数来模拟...

    Linux下informix安装Linux下informix安装

    Linux 下 Informix 安装是一个复杂的过程,需要按照一定的步骤进行。以下是 Informix 11.5 for Linux as4 u2 的安装过程: 一、软件包下载 首先需要在 IBM 官方网站上注册并下载安装包 iif.11.50.UC2TL.Linux-RHEL4...

    informix 12.1官方指南(中文)

    《Informix 12.1官方指南》是Informix数据库管理系统的一个重要参考资料,它为用户提供了详尽的、深入的了解和操作Informix 12.1版本的途径。Informix是一款高性能、可扩展的数据库解决方案,广泛应用于企业级数据...

    linux下informix自启动设置

    最后,如果系统使用的是更现代的 Systemd,你可能需要创建一个 `.service` 文件来管理 Informix 的启动和停止。这涉及到更多的配置步骤,包括定义工作目录、启动命令、依赖关系等。不过,上述的 `/etc/rc.local` 和 ...

    informix数据库连接驱动jar包

    该驱动程序实现了JDBC 3.0规范,为开发人员提供了一个与数据库交互的桥梁。 2. ifxjdbcx.jar:这个jar文件提供了对JDBC XA(eXtended Architecture)支持,用于分布式事务处理。XA接口允许应用程序协调跨多个资源...

    INFORMIX安装INFORMIX安装

    根据提供的文件信息,我们可以归纳出一个详细的步骤指南来完成INFORMIX数据库系统的安装与配置。以下将基于给定的信息,详细地阐述每一步的具体操作及其意义。 ### INFORMIX安装流程详解 #### 1. 准备环境 - **...

    informix jdbc jar包

    这个标签强调了这些jar包的用途,即在Java应用程序中使用JDBC技术访问Informix数据库。 在提供的压缩包文件名称列表中,"informix"很可能就是这些关键jar文件的父目录或者打包名称,表明这些文件是Informix数据库...

    informix

    《Informix管理员参考指南 v9.4》是一个针对Informix数据库管理系统的重要参考资料,适用于那些希望深入理解和管理Informix环境的专业人士。Informix是由IBM开发的一款高效、可靠的数据库系统,广泛应用于各种业务...

    安装INFORMIX客户端软件以及使用

    下面是一个使用 INFORMIX 客户端软件远程导出数据库数据的示例: 首先,用户需要安装 INFORMIX 客户端软件,并配置环境变量。 其次,用户可以使用以下命令连接到 INFORMIX 数据库: `dbaccess -url "jdbc:...

    informix数据库完整教程

    1. 表空间与数据文件:Informix使用表空间来组织数据库对象,每个表空间由一个或多个数据文件组成。数据文件存储实际的数据,表空间则负责管理这些文件。 2. 索引:Informix支持B树索引、位图索引等多种索引类型,...

    Informix数据相关资料

    总的来说,Informix是一款功能强大且灵活的数据库系统,适合于各种业务场景,特别是对于需要高性能、高可用性和大数据处理能力的企业来说,Informix无疑是一个理想的选择。通过深入学习和实践,开发者和数据库管理员...

    INFORMIX-4GL

    Informix-4GL 是一个功能强大且灵活的第四代语言(4GL),专门用于开发数据库应用程序。它提供了一个强大的开发环境,允许开发人员快速创建复杂的数据库应用程序。 Informix-4GL 的主要特点包括: 1. 数据库集成:...

    informix下建立只读用户

    Informix 是一个强大且功能丰富的关系数据库管理系统,它提供了许多有用的功能和工具来帮助开发者和管理员更好地管理数据库。其中,建立只读用户是 Informix 中一个非常重要的功能,它可以帮助管理员限制用户的权限...

    Informix数据库驱动(亲测)

    1. `informix_Driver.jar`:这是一个Java Archive (JAR) 文件,包含了Informix数据库的JDBC驱动程序类。在Java应用中,通过`Class.forName()`方法加载这个JAR文件中的类,然后就可以创建JDBC连接,执行SQL语句,读取...

    Informix 11.70 数据库的名称和端口

    DbVisualizer 是一个功能强大且跨平台的数据库管理工具,支持多种数据库管理系统,包括 Informix。下面是使用 DbVisualizer 连接 Informix 数据库的步骤: 1. 下载并安装 DbVisualizer 软件。 2. 配置 ...

    informix sdk 2.9

    总的来说,Informix SDK 2.9 是一个全面的开发工具集,为开发人员提供了无缝访问Informix数据库的能力。通过它的ODBC支持和丰富的开发资源,无论是新手还是经验丰富的开发者,都能够轻松地构建出高效、可靠的数据...

Global site tag (gtag.js) - Google Analytics