开发环境说明
开发语言:C#
框架:.NETCore
问题及处理
问题1
对数据库进行操作时,报错:
System.NullReferenceException:“Object reference not set to an instance of an object.
![C#程序连接达梦数据库相关问题处理 C#程序连接达梦数据库相关问题处理](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY3Ny8zNGI5YTU4ODk0MGFiOGU5MTdhZTQzMWE3MTc2MzJhZC5wbmc%3D.png?w=700&webp=1)
原因:
这是由于对应项目中缺少DmProvider依赖包,或者是未正确安装DmProvider包。
处理办法
方法1:使用达梦数据库自带的dotnet驱动
1、从对应的Window版本达梦数据库的安装目录下的drivers目录下将dotnet文件夹拷贝到本地;
2、然后在VS中使用NuGet包管理器进行选择安装;
方法如下:
(1)添加本地依赖包路径:
工具 --> NuGet包管理器 --> 程序包管理器设置
(2)安装本地DmProvider包
工具 --> NuGet包管理器 --> 管理解决方案的NuGet程序包
![C#程序连接达梦数据库相关问题处理 C#程序连接达梦数据库相关问题处理](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ0Ni82ZTZjOGRjOWVjYTk0ZmZhNjE3ZmFhNmM3ZWRlN2MyNi5wbmc%3D.png?w=700&webp=1)
选择程序包源为刚刚添加的本地程序包源,选择之后会自动显示下面相关的包
![C#程序连接达梦数据库相关问题处理 C#程序连接达梦数据库相关问题处理](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI3OC9kMzZmNDA2NGFlZDFkZGI1YTY3OTBiZjExZmNmZjc3Ni5wbmc%3D.png?w=700&webp=1)
选择安装的包,并选择需要安装的项目进行安装,等待安装完成即可。
![C#程序连接达梦数据库相关问题处理 C#程序连接达梦数据库相关问题处理](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzcyMy9jNzZlN2MwODk3YTRhNGRjYjVkNGVjM2RmYWVlNTg2Yi5wbmc%3D.png?w=700&webp=1)
方法2:使用NuGet包管理器安装FreeSql.Provider.Dameng包
问题2
在调试过程中程序连接数据库进行操作时,报错:“communication error”
![C#程序连接达梦数据库相关问题处理 C#程序连接达梦数据库相关问题处理](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQyOS80ODdkZDJlODBiOTQ1ZjdmYjhiNGU1NGY2MmUwOGNhNS5wbmc%3D.png?w=700&webp=1)
原因:
从报错信息上,可以判断是在连接数据库与数据库进行通讯时,出现了问题。
可能的原因:数据库未启动、数据库端口无法访问、数据库IP无法访问或者错误等。
处理办法
1、通过DM管理工具连接数据库,确认数据库可以正常连接。
2、检查程序配置的数据库连接字符串中的IP地址(或者主机名)、端口等配置项是否正确。
3、经排查,上述问题是由于数据库的主机名书写错误导致。