考试辅导

名师推荐

试听名师的课 查看所有名师

计算机等级考试辅导:freetds库连接MSSQLSERVER的实现方法 发布时间:2010-06-29 17:29 来源:互联网

计算机等级考试辅导:freetds库连接MSSQLSERVER的实现方法

  1 概述
  在linux下连接MSSQL是一件很痛苦的事,因为微软同志没有提供任何接口给开发人员,还好,MSSQL是从Sybase衍生出来的,FreeTDS是一个数据库底层的驱动程序,用freetds的库进行开发是一件很方便的事。freetds可以连接sybase和mssqlserver数据库。
  2 安装,配置,测试
  官方网站:http://www.freetds.org
  版本:0.64
  $tar-zxvffreetds-stable.tgz
  $./configure--prefix=/usr/local/freetds
  $make
  $suroot
  $makeinstall
  $tsql-H2.2.2.2-p1433-Utest-Ptest
  tsql说明:
  H:数据库IP
  p:数据库端口
  U:用户名
  P:密码
  3 linux下C/C++开发
  3.1  利用freetds自带的程序开发
  位置在freetds-0.64/src/apps
  $makeclean
  $make
  3.2  利用freetds库快速开发
  testsybase.c
  #include<stdio.h>
  #include<string.h>
  #include<stdlib.h>
  #include<unistd.h>
  #include<sybfront.h>
  #include<sybdb.h>
  intmain(void)
  {
  charszUsername[32]="test";
  charszPassword[32]="test";
  charszDBName[32]="test";
  charszServer[32]="2.2.2.2:1433";
  //初始化db-library
  dbinit();
  //连接数据库
  LOGINREC*loginrec=dblogin();
  DBSETLUSER(loginrec,szUsername);
  DBSETLPWD(loginrec,szPassword);
  DBPROCESS*dbprocess=dbopen(loginrec,szServer);
  if(dbprocess==FAIL){
  printf("ASB>>   ConectMSSQLSERVERfail   n");
  return0;
  }else{
  printf("ASB>>   ConnectEMSconectMSSQLSERVERsuccessn");
  }
  if(dbuse(dbprocess,szDBName)==FAIL){
  printf("ASB>>   Opendatabasenamefailn");
  }else{
  printf("ASB>>   Opendatabasenamesuccessn");
  }
  //查询数据库
  dbcmd(dbprocess,"selectID,BeginTime,DescriptionfromAlarms");
  if(dbsqlexec(dbprocess)==FAIL){
  printf("ASB>>   QueryAlarmstableerrorn");
  }
  DBINTresult_code;
  charszID[1024];
  charszBeginTime[1024];
  charszDescription[1024];
  introws=0;
  while((result_code=dbresults(dbprocess))!=NO_MORE_RESULTS){
  if(result_code==SUCCEED){
  dbbind(dbprocess,1,CHARBIND,(DBINT)0,(BYTE*)szID);
  dbbind(dbprocess,2,CHARBIND,(DBCHAR)0,(BYTE*)szBeginTime);
  dbbind(dbprocess,3,CHARBIND,(DBCHAR)0,(BYTE*)szDescription);
  while(dbnextrow(dbprocess)!=NO_MORE_ROWS){
  printf("ASB>>   ID=%sn",szID);
  printf("ASB>>   szAid=%sn",szBeginTime);
  printf("ASB>>   szBeginTime=%sn",szDescription);
  }
  }
  }
  //关闭数据库连接
  dbclose(dbprocess);
  return0;
  }

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《计算机等级考试辅导:freetds库连接MSSQLSERVER的实现方法》相关信息。

编辑推荐

计算机等级考试辅导:SQL中JOB的运行状态

计算机等级考试辅导:SQLSERVER2005的引用

三级:把数据导入不同的表空间

2009年三级信息管理技术辅导:战略数据规划

教你三种方法卸载Windows7SP1Beta