ArcGIS格式的转换方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1几种注册ODBC数据源的方法来源:未知编辑:未知2005年12月19日浏览454次几种注册ODBC数据源的方法国防科大丁浩ODBC(OpenDatabaseConnectivity,开放式数据库互连)是一种应用程序接口(API)规范。它定义了一个标准例程集,使用它们应用程序可访问数据源中的数据。应用程序通过引用API的函数可以直接使用ODBC,或利用数据访问对象(DAO)或远程数据对象(RDO)来使用ODBC。但是,在实现ODBC时,我们必须首先配置ODBC环境,进行数据源的注册,这样才能在对数据库进行编程时,对数据源进行连接、访问和操作。本文介绍几种常用的注册ODBC数据源的方法。手工配置1.ODBC数据源管理器在进行数据库开发时,为了达到配置ODBC,进行DSN定义注册的目的,微软给出了一个手工操作的解决方法。在Windows9X操作系统的控制面板中,有一个名为“ODBC数据源(32位)”的图标,可以通过它激活专门为用户设置ODBC环境的程序(ODBCDataSourceAdministrator,ODBC数据源管理器)。在Windows2000操作系统中,上述图标被放置在控制面板的“管理工具”里面。这个用于设置ODBC环境的程序叫做桌面驱动程序,它支持数种DBMS(DatabaseManagementSystem,数据库管理系统)。当用户想增加一个数据源和一个所需要的驱动程序时,可以通过ODBC数据源管理器的配置对话框配置特定类型的数据库。大多数情况下,在编写对数据库操作的程序时,我们至少需要知道诸如数据库文件名、系统(本地或远程)、文件夹等信息,同时要给数据源命名。2.定义数据源的类型2用户可以定义以下三种类型的数据源:用户数据源:作为位于计算机本地的用户数据源而创建的,并且只能被创建这个数据源的用户所使用;系统数据源:作为属于计算机或系统而不是特定用户的系统数据源而创建的,用户必须有访问权才能使用;文件数据源:指定到文件中作为文件数据源而定义的,任何已经正确地安装了驱动程序的用户皆可以使用这种数据源。3.数据源注册的步骤以MicrosoftAccess为例,如果在C:\myfile\文件夹里创建了一个名为myexample.mdb的数据库文件,其注册步骤如下:在控制面板里找到“ODBC数据源”图标,打开数据源管理器的交互界面;笔者创建的数据库文件是供本机上的用户使用的,所以这里选择“用户DSN”;然后按下“添加”按钮,在弹出的数据源管理器对话框里,为自己所要创建的数据源选择一个驱动程序,本文的数据库文件是用MicrosoftAccess创建的,所以要选择“MicrosoftAccessDriver(*.mdb)”;按“完成”按钮后,进入一个标题为“ODBCMicrosoftAccess安装”的界面,在其中设置“数据源名”为“mydatasource”,选取数据库文件“C:\myfile\myexample.mdb”,然后确定即可。这样我们就完成了一个简单的ODBC数据源的注册。当然,在以上的步骤中,用户可以根据自己的不同需要,设置不同的选项。注册结束后,我们便可以在对数据库的编程中,操作该数据库了。在VB中注册数据源在VB中对数据库进行编程时,可以利用RegisterDataSource方法为ODBC数据源输入连接信息到Windows注册表中。它的语法是:RegisterDataSourceDSN,driver,silent,attributes其中参数代表的含义分别为:DSN:字符串表达式,它是在引用数据源描述信息块时所使用的名字。例如,如果数据源是一个ODBC远程数据库,这就是服务器的名字;如果是用户DSN,则是注册的数据源的名字。3drive:字符串表达式,表示ODBC驱动程序的名称。它并不是ODBC驱动程序动态连接库(DLL)文件名。例如,SQLServer是驱动程序名,而SQLSRVR.DLL是DLL文件名。必须安装ODBC及相应的驱动程序。silent:布尔类型值,如果不想显示ODBC驱动程序对话框,用以提示指定驱动程序的信息,该值就为True;如果希望显示ODBC驱动程序对话框,该值就为False。如果silent为True,那么attributes必须包含所有必需的指定驱动程序的信息。attributes:字符串表达式,它是一个要添加到ODBC.INI文件中的关键字列表。编写程序时,可以根据需要选择若干attributes的参数进行设置。例如:我们可以编写如下的VB程序,达到与上面手工注册一样的目的。程序清单如下:SubRegisterDataSource()DimstrAttribsAsString’建造关键字字符串。’C:\myfile\myexample.l.mdb数据库文件名(包含路径)strAttribs=“DBQ=”_&“C:\myfile\myexample.mdb”_&Chr$(13)&“OemToAnsi=No”_&Chr$(13)&“SERVER=SEQUEL”_&Chr$(13)&“Network=DBNMPNTW”_&Chr$(13)&“Database=WorkDB”_&Chr$(13)&“Address=\EQUEL\PIPEQL\QUERY”’建立新的注册的DSN。rdoEngine.rdoRegisterDataSource“mydatasource”,“MicrosoftAccessDriver(*.mdb)”,True,strAttribsEndSubPrivateSubForm_Load()CallrdoRegisterDataSourceEndSub4注意:为了在代码中使用rdoEngine和远程数据对象,必须先在“引用对话框中设置一个到MicrosoftRemoteDataObject2.0对象库的引用,否则在第一次引用rdoEngine对象时会导致编译错误。利用注册表合并1.解决思路考查ODBC数据源注册后对Windows注册表的修改情况,我们可以发现所注册的数据源对Windows注册表的影响关键集中在[HKEY_CURRENT_USERoftware\ODBC\ODBC.INI]里。这样,我们导出[HKEY_CURRENT_USERoftware\ODBC\ODBC.INI],每次以之为模板,把所要注册的数据源信息加入到注册表导出文件的对应位置,然后再将该文件与系统注册表合并即可。2.具体操作首先,我们要弄清楚Regedit及其参数的含义。Regedit是打开系统注册表的命令。在“开始\运行\”中输入即可。它的三个参数含义如下:Regedit/emyfile.reg:表示把注册表文件导出到myfile.reg文件中,相当于复制整个注册表文件到myfile.reg中;Regedit/cmyfile.reg:表示把myfile.reg导入注册表,相当于用该文件的内容覆盖了注册表的内容;Regedit/smyfile.reg:表示把myfile.reg文件的内容与注册表文件的内容进行合并。我们只需在注册表中将有用的部分导出,而后将所要注册的数据源的信息加入,再与系统注册表合并就可以了。这个合并的过程,我们既可以手工输入来实现,也可以通过编程实现自动合并。注意:为了防止误操作,一定要将系统注册表作一次备份。小结从安全的角度考虑,笔者首推利用在Windows控制面板中的ODBC数据源管理工具来进行数据源注册,以免因对注册表的不熟或疏忽造成不必要的损失。当然,还有一些应用工具,可以实现对ODBC数据源的注册,用户可以根据不同的需求选择使用。5小妹初学vb,想在vb中用ODBC连接一个access数据库,现遇到一个问题:在控制面板中设置好ODBC后,分别尝试用data和adodc控件连接数据源(只在控件的属性上设置,没有写代码),都不行。然后在网上找到一些代码写进去,却总是显示“实时错误[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序”或者“找不到可安装的ISAM”(可是我安装vb时是装过ISAM的!)我的代码:PrivateSubForm_Load()DimconnAsNewADODB.ConnectionDimrsAsNewADODB.Recordsetconn.CursorLocation=adUseClientconn.OpenProvider=Microsoft.Jet.OLEDB.4.0;PersistSecurityInfo=False;DataSource=F:\db1.mdbrs.Openselect*from表1,conn,adOpenDynamic,adLockBatchOptimisticEndSub烦请各位热心的大虾帮忙看看这个代码哪里不对呢?非常感谢!作者:帅哥阳伞专家分:8950会员信息发短消息所属BLOG发表时间:2006-6-119:19:00[回复][引用]睿智汇海.NET就业培训专家,2个月实现高薪梦想第1楼conn.ConnectionString=Provider=MSDASQL;PersistSecurityInfo=False;UserID=填用户名;DataSource=填DSN名'通过ODBC来连接conn.OpenProvider=Microsoft.Jet.OLEDB.4.0;PersistSecurityInfo=False;DataSource=F:\db1.mdb是连接数据库的最后修改于2006-6-119:20:006此帖尚未评分作者:水蓝色月光专家分:0会员信息发短消息所属BLOG发表时间:2006-6-29:15:00[回复][引用]睿智汇海.NET就业培训专家,2个月实现高薪梦想第2楼我把关键那句改成conn.ConnectionString=Provider=MSDASQL;PersistSecurityInfo=False;UserID=admin;DataSource=abc.dsn可是还是显示“实时错误[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序”,我在控制面板里的用户DSN和文件DSN选项卡都分别创建了一个叫abc.dsn的文件了,选择的是access的驱动器,为什么还总是说“未发现”呢?作者:傻瓜911专家分:30会员信息发短消息所属BLOG发表时间:2006-6-411:35:00[回复][引用]睿智汇海.NET就业培训专家,2个月实现高薪梦想第3楼shi使用一个ADO控件来生成连接字符串,就可以了!大傻瓜cf99cf@163.comQQ:215150795此帖尚未评分作者:huangsten专家分:90会员信息发短消息所属BLOG发表时间:2006-6-72:51:00[回复][引用]睿智汇海.NET就业培训专家,2个月实现高薪梦想第4楼可以用数据环境设置器就能得到连接数据库的字符串。1.在工具栏中单击工程2.单击添加DataEnvironment,在工程资源管理器中生成了一个DataEnvironment13.右键单击Connection14.单击属性,弹出一个数据链接属性窗口75.如果数据库是access就双击MicrosoftJet4.0(省略...)6.跳到连接项,在文本框中输入数据库路径,如果数据库和工程在同一路径,则输入数据库名称即可7.如登陆数据库需要密码,则在第二点的文本框输入相应信息8.点击测试连接按钮9.如果连接成功则提示连接成功10.成功后按确定按钮退出11.连接数据库的字符串只有复制属性窗口的ConnectionSource的值就行了此帖尚未评分作者:billyli专家分:30会员信息发短消息所属BLOG发表时间:2006-6-914:14:00[回复][引用]睿智汇海.NET就业培训专家,2个月实现高薪梦想第5楼conn.ConnectionString=DSN=abc;uid=;pwd='通过ODBC来连接此帖尚未评分作者:louja专家分:20会员信息发短消

1 / 176
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功