注册
.NET 注册 DmProvider
专栏/Database Thinking/ 文章详情 /

.NET 注册 DmProvider

胡li 2022/11/07 3712 13 0
摘要 有部分场景,使用 DmProvider 时需要注册.NET 驱动,例如通过 DbProviderFactories 类调用 DmProvider 创建连接,NHibernate 及 EFDmProvider 的使用,都需要注册.net 驱动。下面详细介绍下如何注册.NET 驱动。摘抄至《DM8程序员手册》

本机环境

|软件名称|版本|
|-|-|-|
|操作系统|WIN10|
|Visual Studio|2019|
|数据库|DM 8|

注册DmProvider

1、点击【开始菜单】->【Visual Studio 2019】 -> 右击以管理员身份打开【Developer Command Prompt for VS 2019】
以上步骤根据vs版本不同,操作方法也不同,可根据vs的版本在网上查找注册dll的方法。

2、输入以下命令注册DmProvider

gacutil /if F:\dmdbms162\drivers\dotNet\DmProvider\net45\DmProvider.dll

操作截图如下:
image.png
注意:DmProvider驱动请根据.Net Framework版本进行选择。.Net Framework版本可通过右击项目名称,点击【属性】->【应用程序】->【目标框架】
image.png

3、修改对应框架的配置文件 machine.config
已管理员身份打开编辑器,通过编辑器打开以下文件进行编辑
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
搜索DbProviderFactories项,添加以下内容

<add description="DM .Net Framework Data Provider" invariant="Dm" name="DM Data Provider" type="Dm.DmClientFactory,  DmProvider,  Version=1.1.0.0,  Culture=neutral,PublicKeyToken=7a2d44aa446c6d01"/>       

内容截图如下:
image.png

验证:通过 DbProviderFactories 类调用 DmProvider 创建连接使用.NET 驱动。

重启vs,创建控制台应用:
路径为:【文件】->【新建】->【项目】->【控制台应用(.NET Core)】,输入以下代码进行验证

 static void Main(string[] args)
        {
            DbProviderFactory factory = DbProviderFactories.GetFactory("Dm");
            DbConnection sconn = factory.CreateConnection();
            sconn.ConnectionString = "Server=localhost; UserId=SYSDBA; PWD=SYSDBA";
            sconn.Open();
            DbCommand scmd = factory.CreateCommand();
            scmd.Connection = sconn;
            try
            {
                scmd.CommandText = "create table test(id int)";
                scmd.ExecuteNonQuery();

            }
            catch (Exception)
            {
            }
        }

代码截图如下:
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服