全球FlexSim系统仿真中文论坛

标题: 示例:通过命令创建ODBC连接 [打印本页]

作者: zorsite    时间: 2015-10-25 02:03
标题: 示例:通过命令创建ODBC连接
本帖最后由 zorsite 于 2015-10-25 08:29 编辑
( d, f- T5 ^5 I- W
" E* G( `4 ?) A环境:windows 7 32位,office 2007 32位; \8 S, s( n- z9 j: C
数据库文件用access 2007创建
9 S- z# d3 h$ M2 E  N4 C0 [数据库文件名:flexsimdata.accdb2 b% j1 c5 T& u: O* \' }
数据库文件放在C:\Users\Administrator\Documents目录下1 b- \$ Z3 Z9 C% J4 {0 A. Q

6 B% t$ C8 H1 n- I3 {9 F2 e方法1:
! P3 X% ?- a/ T: _点击开始-->运行+ y; z% w, q5 |' l9 n
在运行对话框输入以下命令:
  1. odbcconf configdsn "Microsoft Access Driver (*.mdb, *.accdb)" "dsn=testdata|DBQ=C:\Users\Administrator\Documents\flexsimdata.accdb"
复制代码
按回车后如果没有任何提示表示ODBC已经创建成功。注意:此行代码创建的是用户DSN,而非系统DSN。  Z* z# W( w7 r/ P
[attach]2847[/attach]
) c& q7 @( f% z' Y如果想要创建系统DSN,可以使用以下命令:
  1. odbcconf configsysdsn "Microsoft Access Driver (*.mdb, *.accdb)" "dsn=testdata|DBQ=C:\Users\Administrator\Documents\flexsimdata.accdb"
复制代码
[attach]2848[/attach]
# I2 t. ~3 \8 A( \+ e8 }- L9 x: [8 X/ ^
testdata可以根据需要更换为其他名字,只要方便自己记忆和编写代码。' v/ k. r0 s. ^$ f# E
接下来可以在flexsim中使用dbopen命令来连接数据库了。
# A3 a- f2 r" l0 U$ a9 v" _5 a3 d假设flexsimdata.accdb中有一张名为detail的表格,则可以使用
  1. dbopen("testdata","detail",1);
复制代码
创建与datail表格的连接。
" z: U1 [, w, j: j方法2:
4 j1 p1 a; `6 U. C( Y  一般情况下,当用户在控制面板中配置好ODBC数据源后,Windows系统便在注册表中加入了一些子键来存储用户的配置结果。当应用程序需要用到数据源时,Windows便会通知底层接口查阅注册表中该数据源的配置。如果用户删除了某个ODBC数据源,那么也会在注册表中有所反应。
/ o* U  m- _7 |" i( V" v' y7 j6 ^  如果配置的数据源是用户数据源,Windows系统便会修改注册表的[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI]子键;如果配置的数据源是系统数据源,Windows系统便会修改注册表的[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI]子键。. D% g: E6 I% [
  对于不同类型的数据源,注册表的修改也各有不同,但基本上都要修改两个地方。一个是在[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI]子键下建立一个与数据源描述名同名的子键,并在该子键下建立与数据源配置相关的项;另一个是在[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]子键下建立一个新项以便告诉驱动程序管理器ODBC数据源的类型。
% ?2 X6 C# h9 ]& v/ b# q! n1 \+ y1 d# i
% R$ @. w! Y' i" L* y
复制以下代码粘贴到记事本:
  1. Windows Registry Editor Version 5.00
    $ Z9 X5 q* w8 a# V) C

  2. # k, P; G, B) T1 N" j/ q: R3 G
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\data]
    , d! o) z: m! {
  4. "DBQ"="C:\\Users\\Administrator\\Documents\\flexsimdata.accdb"/ S1 s; U# G4 [; d
  5. ) R6 _: i: B) ]: a
  6. [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]5 h9 N( Y! A: ]  Z: b  X. i
  7. "data"="Microsoft Access Driver (*.mdb, *.accdb)"
    9 U# V1 q6 K' j7 o8 {# S
复制代码
将文件另存为import.reg,然后双击该文件导入注册表,可以创建名为data的系统DNS。6 X% s4 T% F' e9 W* y
[attach]2846[/attach]
作者: 慧娴亚伦    时间: 2015-10-25 09:50
学习一下!
作者: 大摸鱼    时间: 2015-10-25 10:23
感谢加老师分享,这种用命令创建数据库链接的方法我也是第一次看到,收藏啦
作者: cy411522    时间: 2015-10-26 10:31
好吊!!




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3