Linux C语言连接 sqlserver数据库
记录一下Linux下使用C语言连接sqlserver的方法。
连接前需要安装freetds。
参考:
http://www.cnblogs.com/helloworldtoyou/p/6910075.html
http://blog.csdn.net/neighbor1000/article/details/8824084
http://blog.csdn.net/pinkbean/article/details/64439759
这个是从参考链接中的提取代码。分析一下,写上注释。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include<sybfront.h>
#include<sybdb.h>
int main(void)
{
char szUsername[32]= "Tony";
char szPassword[32]= "tony";
char szDBName[32]= "gpio";
char szServer[32]= "192.168.1.221:1433"; //服务器ip地址和端口号
//初始化db-library
dbinit();
//连接数据库
LOGINREC *loginrec=dblogin();
// 设置登录的用户名
DBSETLUSER(loginrec,szUsername);
// 设置登录密码
DBSETLPWD(loginrec,szPassword);
// 连接sqlserver服务器地址和端口号,这里才是连接
DBPROCESS *dbprocess=dbopen(loginrec,szServer);
if(dbprocess==FAIL){
printf("Connect MSSQLSERVER fail\n");
return 0;
}else{
printf("Connect MSSQLSERVER success\n");
}
// 连接数据库
if(dbuse(dbprocess,szDBName)==FAIL){
printf("Open data basename fail\n");
}else{
printf("Open data basename success\n");
}
// 查询数据库中表中的内容
dbcmd(dbprocess,"select * from real_date_log"); //查询数据表中的内容,更具实际情况更改数据表名称
// 执行命令
if(dbsqlexec(dbprocess)==FAIL){
printf("Query table error\n");
}
else
printf("Query table success\n");
DBINT result_code;
char szID[1024];
char szBeginTime[1024];
char szDescription[1024];
// 查看命令执行的结果。
while((result_code=dbresults(dbprocess))!=NO_MORE_RESULTS)
{
if(result_code==SUCCEED){
// 查询第1列
dbbind(dbprocess,1,CHARBIND,(DBINT)0,(BYTE*)szID);
// 查询第2列
dbbind(dbprocess,2,CHARBIND,(DBCHAR)0,(BYTE*)szBeginTime);
// 查询第3列
dbbind(dbprocess,3,CHARBIND,(DBCHAR)0,(BYTE*)szDescription);
// 跳到下一行
while(dbnextrow(dbprocess)!=NO_MORE_ROWS){
// 打印本行的数据
printf("ID=%s\n",szID);
printf("szAid=%s\n",szBeginTime);
printf("szBeginTime=%s\n",szDescription);
}
}
}
//关闭数据库连接
dbclose(dbprocess);
return 0;
}
编译
gcc -o testsybase testsybase.c -L /usr/local/freetds7.0/lib/ -lsybdb -I /usr/local/freetds7.0/include/
执行
export LD_LIBRARY_PATH=/usr/local/freetds7.0/lib/
./testsybase
Tony Liu
2017-5-26, Shenzhen
Linux C语言连接 sqlserver数据库的更多相关文章
- C语言连接SQLSERVER数据库
第一步:配置ODBC.在配置ODBC时有用户DSN.系统DSN.和文件DSN三种方法,为了稳妥起见,采用系统DSN. DSN的名字叫LocalServer,帐号:sa,密码123456 第二步:打开V ...
- Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库
前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...
- C语言与sqlserver数据库
原文:C语言与sqlserver数据库 1.使用C语言来操作SQL SERVER数据库,采用ODBC开放式数据库连接进行数据的添加,修改,删除,查询等操作. step1:启动SQLSERVER服务,例 ...
- 将.Net Core发布至Docker,并连接 Redis、上传文件到本机、连接sqlserver数据库
此片文章目标是将 .Net Core 发布到 Docker 上,并且连接到在 Docker上的 Redis .上传文件到本机文件夹和连接 sqlserver 数据库. 创建项目 创建项目就不用说了,我 ...
- jsp连接sqlServer数据库教程
一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar 下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0 下载地址:点击进入 开发IDE工 ...
- 使用thinkphp连接sqlserver数据库时提示“系统不支持:sqlsrv”
习惯了使用php跟mysql组合,现在接到项目需要调用客户线下的系统软件的数据,具了解,这个软件的数据库是用sqlserver数据库也就是常说的mssql数据库了. 那么我现在需要用PHP连接sqls ...
- C语言连接MySql数据库
C语言连接MySql数据库(CodeBlocks) 操作系统:Windows7(32位)编译软件:Code::Blocks 10.05数 据 库:mysql-5.1.62-win32 数据库内的数据: ...
- asp.net 连接sqlserver数据库
在asp.net中连接sqlserver数据库之前,首先得确保正常安装了sqlserver2008,同时有数据库. 在项目中添加一个类DB,用来专门负责执行对数据库的增删改查.在添加的过程中会弹出下面 ...
- SQLServer-----使用jTDS连接SQLServer数据库
一.jTDS一个简短的引论 jTDS100%纯Java实现的JDBC3.0驱动,它用于连接 Microsoft SQL Server(6.5.7.2000,2005,2008 和 2012)和Syba ...
随机推荐
- dom4j: 用dom4j生成xml后第二行空行的问题
只需要指定: format.setNewLineAfterDeclaration(false); 即可. 例: OutputFormat format = OutputFormat.createPre ...
- lua -- debug
framework.debug 调试支持 ~~ echo 功能同 print. 格式: echo(值, [值, 值, ...]) ~~ printf 按照特定格式输出. 格式: printf(格式字符 ...
- CCZone
/**************************************************************************** Copyright (c) 2010 coc ...
- (原创)C++11改进我们的程序之简化我们的程序(七)
这次要讲的内容是:c++11中的tuple(元组).tuple看似简单,其实它是简约而不简单,可以说它是c++11中一个既简单又复杂的东东,关于它简单的一面是它很容易使用,复杂的一面是它内部隐藏了太多 ...
- 在javascript中获取一个对象内属性的个数
var foo = {a1:'1',a2:'2',a3:'3'}; //获得对象所有属性的数组 Object.getOwnPropertyNames(foo); > [ 'a1', 'a2', ...
- Eclipse 使用 SVN 插件后修改用户方法汇总
http://blog.csdn.net/ShaneLooLi/article/details/50994005 ******************************************* ...
- java中编码种类和区别
为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言.由于人类的语言有太 ...
- [转]JS组件系列——表格组件神器:bootstrap table
原文地址:https://www.cnblogs.com/landeanfen/p/4976838.html 前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉 ...
- 《5天学会卡西欧fx-5800p之实操视频教程(初级)》目录和我的工作室现场曝光
很多人给我讲,想让我录制一份卡西欧fx-5800p的视频教程,我也一直在准备,准备了半年,录制视频真的不是件容易的事,条件有限,而且工作也很忙,中途还会有想放弃的念头,真的是花费了我很多的心血,但不管 ...
- php编写TCP服务端和客户端程序
1.修改php.ini,打开extension=php_sockets.dll 2.服务端程序SocketServer.php <?php //确保在连接客户端时不会超时 set_time_li ...