DTS参数传递示例

1. 建立测试表

CREATE TABLE tempdb.dbo.tb(id int)

-- 2. 新建一个DTS包

在包中建立:
a. Microsoft OLE DB Provider for SQL Server连接
b. 执行 SQL 任务
   任务的“SQL语句“写上: insert tb values(?)
       单击“参数”按钮,打开“参数映射”对话框
       单击“创建全局变量”按钮,创建一个名为value,类型为integer,值为1的全局变量
   单击“确定”按钮回到“参数映射”对话框,在“参数映射”列表中,为”参数1“的”输入全局变量“选择”value"
   单击“确定”按钮回到"DTS包定义”窗口
c. 保存DTS包,包名指定为a,位置指定为"SQL Server"

-- 3. 新建一个包,用以调用包a

在包中建立:
a. 执行包任务
   在“常规”选项的“包名称”中选择步骤2中建立的包名a
   在“外部全局变量”选项中,输入变量名 value。(对应步骤2中包的全局变量)
b. 保存DTS包,包名指定为b,位置指定为"SQL Server"

-- 4. 执行包,查看结果

EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="2"'
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="3"'
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="5"'
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="10"'
SELECT * FROM tempdb.dbo.tb
DROP TABLE tempdb.dbo.tb

 
设备树源文件(DTS,Device Tree Source)是一种文本格式的配置文件,用于描述嵌入式系统的硬件信息。这种文件格式在Linux内核启动过程中起到关键作用,它向操作系统提供了硬件初始化所需的参数DTS文件的结构清晰,便于开发者进行维护和修改,通常包含节点和属性,用来定义处理器、内存、外设等硬件组件的配置[^1]。 DTS文件与DTB(Device Tree Binary)文件之间的关系类似于源代码与编译后的二进制文件的关系。DTS文件是可读的源文件,而DTB文件是通过设备树编译器(DTC,Device Tree Compiler)将DTS文件编译后生成的二进制文件。DTB文件可以直接被Linux内核解析并用于系统启动时的硬件初始化[^2]。 要编译一个DTS文件为DTB文件,需要使用到DTC工具。DTC工具的源代码可以在Linux内核源码树中的`scripts/dtc`目录下找到。使用DTC的一般步骤包括: 1. 安装必要的构建工具和依赖库。 2. 进入Linux内核源码目录。 3. 编译DTC工具,通常可以通过执行`make dtbs`命令来编译所有设备树文件,或者单独编译特定的DTS文件。 以下是一个简单的DTS文件示例,展示了如何定义一个基本的设备树结构: ```dts /dts-v1/; / { model = "Example Model"; compatible = "vendor,example-board"; memory@80000000 { device_type = "memory"; reg = <0x80000000 0x20000000>; /* Start address and size */ }; chosen { bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw earlyprintk"; }; }; ``` 在这个例子中,`/`代表设备树的根节点,`model`和`compatible`属性提供了关于设备模型的信息,`memory`节点描述了系统的内存布局,`chosen`节点包含了递给内核的启动参数。 为了编译这个DTS文件,假设DTC已经正确安装并且DTS文件名为`example.dts`,可以使用如下命令: ```bash dtc -I dts -O dtb -o example.dtb example.dts ``` 这条命令会告诉DTC从`example.dts`读取输入,指定输入格式为DTS,输出格式为DTB,并将输出写入到`example.dtb`文件中。 通过这种方式,开发者可以创建和维护针对不同硬件平台的设备树配置,从而支持Linux内核在各种嵌入式系统上的运行[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值