`
tomqyp
  • 浏览: 26234 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多
刚刚接触D,本身功力又不深,所以只能写些应用级的东西,就当是学习笔记了。
ddbi是用D下的一套的数据库接口,支持: 详细介绍见项目主页 http://www.dsource.org/projects/ddbi

下载以后解压,根据说明先编译
dmd -run buildme.d all
提示链接时一大堆函数找不到,我用的是tango用黓认库,配置了半天相关参数,没用。
于是干脆用回phobos,再编译
提示找不到bud程序,我的bud文件名是build.exe,要解决有两个办法。
一是将build.exe更名为bud.exe,但是我用的IDE是poseidon,poseidon是调用build.exe进行编译,所以没用这个办法(后来发现当前版本的poseidon可以直接设定bud文件)。
第二个办法是找打开buildme.d找到
 if (system("bud " ~ buildCommand))  将其改为
 if (system("build " ~ buildCommand))
再次编译,还是没通过!!
看提示是找不到win32\odbcinst.d,可以自己写,或者在dsource.org binding项目有个现成的win32项目。
下载解压,再编译,ok
不过提示两个模块要手工编译,不知道为什么,还望高人赐教。
分享到:
评论
9 楼 tomqyp 2007-04-07  
对了,我试ddbi时试着用静态库结果提示要open ssl的几个库,一时打不到,能不能顺便提供。
8 楼 heromyth 2007-04-07  
不用收藏了。我刚刚编译了mysql-4.1.22的libmysql库,并且已将导入库进行了转换。可以 D 连接工具里直接使用,在 DDBI 里简单测试成功。这里可以下载:http://bitworld.ys168.com
7 楼 tomqyp 2007-04-07  
好详细,好藏,我的只改了几个用到的函数
6 楼 heromyth 2007-04-06  
引用


LIBRARY libmySQL
EXETYPE NT
SUBSYSTEM WINDOWS
EXPORTS
_myodbc_remove_escape@8 = myodbc_remove_escape
_mysql_affected_rows@4 = mysql_affected_rows
_mysql_change_user@16 = mysql_change_user
_mysql_character_set_name@4 = mysql_character_set_name
_mysql_close@4 = mysql_close
_mysql_connect@16 = mysql_connect
_mysql_create_db@8 = mysql_create_db
_mysql_data_seek@12 = mysql_data_seek
_mysql_debug@4 = mysql_debug
_mysql_drop_db@8 = mysql_drop_db
_mysql_dump_debug_info@4 = mysql_dump_debug_info
_mysql_eof@4 = mysql_eof
_mysql_errno@4 = mysql_errno
_mysql_error@4 = mysql_error
_mysql_escape_string@12 = mysql_escape_string
_mysql_fetch_field@4 = mysql_fetch_field
_mysql_fetch_field_direct@8 = mysql_fetch_field_direct
_mysql_fetch_fields@4 = mysql_fetch_fields
_mysql_fetch_lengths@4 = mysql_fetch_lengths
_mysql_fetch_row@4 = mysql_fetch_row
_mysql_field_count@4 = mysql_field_count
_mysql_field_seek@8 = mysql_field_seek
_mysql_field_tell@4 = mysql_field_tell
_mysql_free_result@4 = mysql_free_result
_mysql_get_client_info@0 = mysql_get_client_info
_mysql_get_host_info@4 = mysql_get_host_info
_mysql_get_proto_info@4 = mysql_get_proto_info
_mysql_get_server_info@4 = mysql_get_server_info
_mysql_info@4 = mysql_info
_mysql_init@4 = mysql_init
_mysql_insert_id@4 = mysql_insert_id
_mysql_kill@8 = mysql_kill
_mysql_list_dbs@8 = mysql_list_dbs
_mysql_list_fields@12 = mysql_list_fields
_mysql_list_processes@4 = mysql_list_processes
_mysql_list_tables@8 = mysql_list_tables
_mysql_num_fields@4 = mysql_num_fields
_mysql_num_rows@4 = mysql_num_rows
_mysql_odbc_escape_string@28 = mysql_odbc_escape_string
_mysql_options@12 = mysql_options
_mysql_ping@4 = mysql_ping
_mysql_port = mysql_port
_mysql_query@8 = mysql_query
_mysql_read_query_result@4 = mysql_read_query_result
_mysql_real_connect@32 = mysql_real_connect
_mysql_real_escape_string@16 = mysql_real_escape_string
_mysql_real_query@12 = mysql_real_query
_mysql_refresh@8 = mysql_refresh
_mysql_row_seek@8 = mysql_refresh
_mysql_row_tell@4 = mysql_row_tell
_mysql_select_db@8 = mysql_select_db
_mysql_send_query@12 = mysql_send_query
_mysql_shutdown@4 = mysql_shutdown
_mysql_stat@4 = mysql_stat
_mysql_store_result@4 = mysql_store_result
_mysql_thread_id@4 = mysql_thread_id
_mysql_thread_safe@0 = mysql_thread_safe
_mysql_unix_port = mysql_unix_port
_mysql_use_result@4 = mysql_use_result
5 楼 qiezi 2007-04-06  
你这个def文件哪找的?贴一个出来用用。。。
4 楼 qiezi 2007-04-06  
使用mysql里面的dll,用implib导出.def文件,修改名称再用implib导出lib即可。mysql的dll用的是stdcall,它导出dll时把名称重定义过了,所以要这么麻烦地改回去。
3 楼 heromyth 2007-04-06  
用vc一直没成功编译mysql,因此无法得到其导入库,也就无法测试coff2omf是否起作用。
我是直接在网上找到的一个关于mysql的def文件文件,并生成导入库。测试基本成功。

// implib /system mysql4.lib libmysql.def
// dmd -version=Phobos -I. testmysql.d dbi.lib mysql4.lib sqlite.lib


import dbi.mysql.MysqlDatabase;
import dbi.Row;
import dbi.Result;

import std.stdio;

void main() {
    MysqlDatabase db = new MysqlDatabase();
    db.connect("host=localhost;dbname=mysql", "root", "password");

    Result res = db.query("select * from user;");
	Row rows = res.fetchRow();
		writefln("user:%s  password:%s", rows.get("User"), rows.get("Password"));
    db.close();
}


另外也成功测试了SQLite。其它的数据库由于不感兴趣,所以未加测试。

关于使用DDBI的一个建议就是,只编译自己需要的那几个库模块,赿小赿好。
2 楼 tomqyp 2007-02-26  
引用
我倒是编译通过了,但是没法用。

没法用,可能是因为要用用调用数据库本身的驱动或API,我试用的是mysql,要用到mysql的两个库,可惜两个库是coff格式的,D网站上有个coff2omf工具,可以把coff转到omf格式,可惜是收费的,dmc我也不会用,你可以试试用dmc编译。
1 楼 jinheking 2007-02-16  
我也有这个问题,有没有高人能够解决!

dmd -run buildme.d all -ODBC -oracle

我倒是编译通过了,但是没法用。
那位大哥能够提供一个可以连接Postgres和oracle的ddbi.lib
并且给一个小例子。
在这里先谢谢了

相关推荐

    YOLO算法-城市电杆数据集-496张图像带标签-电杆.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (177406840)JAVA图书管理系统毕业设计(源代码+论文).rar

    JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代

    (35734838)信号与系统实验一实验报告

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    YOLO算法-椅子检测故障数据集-300张图像带标签.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    基于小程序的新冠抗原自测平台小程序源代码(java+小程序+mysql+LW).zip

    系统可以提供信息显示和相应服务,其管理新冠抗原自测平台小程序信息,查看新冠抗原自测平台小程序信息,管理新冠抗原自测平台小程序。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

    YOLO算法-俯视视角草原绵羊检测数据集-4133张图像带标签-羊.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (171674830)PYQT5+openCV项目实战:微循环仪图片、视频记录和人工对比软件源码

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    新建 文本文档.docx

    新建 文本文档.docx

    hw06.zip

    hw06

    3. Kafka入门-安装与基本命令

    3. Kafka入门-安装与基本命令

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    The state of AI 2024.pdf

    AI大模型研究相关报告

    lab02.zip

    lab02

    Unity视频插件AVPro的Win端2.2.3

    仅供学习使用,其他用途请购买正版资源AVPro Video Core Windows Edition 2.2.3 亲测可用的视频播放插件,能丝滑播放透明视频等.

    建设工程消防验收现场指导意见表.docx

    建设工程消防验收现场指导意见表.docx

    MVIMG_20241222_194113.jpg

    MVIMG_20241222_194113.jpg

    五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成

    五相电机双闭环矢量控制模型_采用邻近四矢量SVPWM_MATLAB_Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成; (2)输出部分仿真波形及仿真说明文档; (3)完整版仿真模型:包括邻近四矢量SVPWM模型和完整双闭环矢量控制Simulink模型; 资料介绍过程十分详细,零基础手把手教学,资料已经写的很清楚

    YOLO算法-锡罐-牙罐-盖子打开数据集-179张图像带标签-锡罐-牙罐-盖子打开.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    java毕设项目之ssm基于JSP的乡镇自来水收费系统+jsp(完整前后端+说明文档+mysql+lw).zip

    项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

Global site tag (gtag.js) - Google Analytics