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 ...
随机推荐
- async与await 实例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 【小白的CFD之旅】20 计算区域的构建
计算域是什么计算域如何创建常用的建模软件计算域几何的特殊之处具体的计算域提取方法小白总结 自从上次在食堂听了小牛师兄关于计算网格的一些问题后,小白决定在寒假期间好好的补习一下关于计算网格的划分内容.在 ...
- 哈佛大学 Machine Learning
https://am207.github.io/2017/material.html https://am207.github.io/2017/topics.html https://am207.gi ...
- adb -s
当已经有多个设备连接到主机时,可以使用-s参数进行选择. 设备为adb devices列出的内容. 除此之外,-d表示只通过USB连接,-e表示只连接仿真器.
- linux Ctrl+z和Ctrl+c的区别
1.Ctrl+z 挂起进程,并不会结束,执行fg命令可以重新启动这个被挂起的命令. 2.Ctrl+c 终止进程
- (转)go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin
转自:http://www.baiyuxiong.com/?p=886 ---------------------------------------------------------------- ...
- 【Java】Java复习笔记-第四部分
反射 反射: 在运行时动态分析或使用一个类进行工作. java.lang.Class类:描述类信息的类. 类对象:描述一个类信息的对象,当虚拟机加载类的时候,就会创建这个类的类对象并加载该对象,Cla ...
- django 返回json数据
from django.core import serializers @login_required def ajax_get_data(request): json_data = serializ ...
- sparkonhbase
import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.client.Result impor ...
- u-boot2011.09 启动流程记录
start arch/arm/cpu/armv7/start.S 36 .globl _start 37 _start: b reset 136 reset: 137 bl save_boot_par ...