TDengine 在VS2008上的配置使用

    TDengine是Github上目前比较火的开源大数据平台。官网上的介绍:TDengine是涛思数据推出的一款开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度。听着很是有诱惑力,所以就想装下试试它。没想到一试就入了一堆坑。

第一步安装

    官网上明确说明TDengine目前只支持在Linux系统上安装和运行(Ubuntu和Centos),于是在虚拟机上安装了Ubuntu16.04。然后在官网上下载对应Ubuntu版本的安装包TDengine DEB package(下载链接)。将下载下来的tdengine-1.6.1.6.deb放在了新建目录taov下,然后键入命令安装:

sudo dpkg -i tdengine-1.6.1.6.deb 

TDengine 在VS2008上的配置使用_第1张图片

(注:由于写博客之前已经安装了,所以再次安装的时候会先卸载以前的再安装。安装成功后会显示成功安装)

然后启动TDengine的进程服务(systemctl 命令需要 root 权限):

systemctl start taosd

这就安装完成,在linux命令终端输入taos就进入,如图所示:

TDengine 在VS2008上的配置使用_第2张图片

第二步windows客户端

   官网上提供windows的客户端可以连接到linux上的TDengine,客户端文件夹里面也包含taos.dll,taos.h以及java,c,python等语言的Demo。这里下载的客户端版本需要与在Ubuntu上安装的版本一样。下载下来一路next就好,它自动安装在C:\TDengine目录下。在该目录下打开命令窗口,键入taos -h ip地址  即可连上:

TDengine 在VS2008上的配置使用_第3张图片

第三步配置VS

     想跑通它提供的c Demo,所以配置VS,在这里遇到一堆坑。用VS2008创建项目-->win32应用程序,然后选择空项目。创建完成后,分别创建test.cpp,然后将demo里面的代码拷到里面,并加入C:\TDengine\include\taos.h 头文件,然后将代码中的

#include   改为 #include "taos.h"

   1.点击运行,会给报第一个错:

找不到stdint.h头文件,随便在网上找了一个,谁知给报更多的错,都是找不到stdint.h里面引用的文件,后来我发现找的这个属于C99规范引进来的,VS2008对其支持不好。然后又在网上搜  “vs2008 下缺少stdint.h ”,找了好几个试,终于找到一个(下载链接),不再报这个错误。

    2.接着点击运行,结果给报一大堆外部符号找不到的错误:

TDengine 在VS2008上的配置使用_第4张图片

百度了一下都说是缺少相应的lib文件,但TDengine的Windows客户端没提供taos.lib,只有taos.dll。这时候看了下官网说要把taos.dll放到C:\Windows\System32下,打开system32文件一查找已经存在taos.dll,应该是安装客户端的时候自动放进去了,但还是报错。我就尝试写代码动态加载taos.dll,将报错缺少的外部符号引入进来。

(动态加载参考:https://blog.csdn.net/pride_xu/article/details/78858143)

TDengine 在VS2008上的配置使用_第5张图片

3. 然后运行结果这次直接给我停掉了,很是郁闷。百度了半天也不知道哪的问题。c的不行,我就试起python的Demo,然后我发现,用64位的python就可以跑成功,32位的就不行。恍然大悟,taos.dll应该是64位的,而VS编译的时候默认是32位的,然后配置VS的64位的编译器,充满期待的点击运行,结果又弹出框说无法生成调试信息,黑框一闪而过。这个问题好解决,项目属性--->链接器-->生成调试信息,选择是就好了。点击显示连接成功!

TDengine 在VS2008上的配置使用_第6张图片

4. 但是TDengine给我报时间戳超出范围,好是郁闷。Demo里面数据库操作的代码都没动,怎么就超出了。发现insert语句中给的时间戳类型不对。将"%ld"变成“%lld”,这样就不会报错了。

                           TDengine 在VS2008上的配置使用_第7张图片

至此,在遇到一堆坑,捣鼓折磨了两天后终于跑通了,特此纪念一下。

你可能感兴趣的:(TDengine)