如何使用freetds库连接MSSQLSERVER实现方法
来源:优易学  2011-12-26 13:46:50   【优易学:中国教育考试门户网】   资料下载   IT书店
  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;
  }

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训