C#调用SqlSugar操作达梦数据库报错“无效的表或视图名”

本文主要是介绍C#调用SqlSugar操作达梦数据库报错“无效的表或视图名”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  安装达梦数据库后,使用SqlSugar连接测试数据库并基于DBFirst方式创建数据库表对应的类,主要代码如下:

SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){DbType = DbType.Dm,ConnectionString = "Server=localhost; User Id=SYSDBA; PWD=XXXXXXXX;DATABASE=PERSON",IsAutoCloseConnection = true});db.DbFirst.CreateClassFile("Models", "XXXXXX.Models");

  运行到CreateClassFile函数时报如下错误:
在这里插入图片描述

SqlSugar.SqlSugarExceptionHResult=0x80131500Message=Table 'ADDRESS' error,You can filter it with Db.DbFirst.Where(name=>name!="ADDRESS" ) Error message:1 行附近出现错误:
无效的表或视图名[ADDRESS]Source=SqlSugarStackTrace:at SqlSugar.Check.Exception(Boolean isException, String message, String[] args)at SqlSugar.DbFirstProvider.ToClassStringList(String nameSpace)at SqlSugar.DbFirstProvider.CreateClassFile(String directoryPath, String nameSpace)at TestDM.Program.Main(String[] args) in \TestDM\Program.cs:line 18

  通过达梦管理工具查看数据库,PERSON数据库下有ADDRESS表,不清楚为什么报错。
在这里插入图片描述

  百度错误信息,检索结果中介绍可能是表名前需添加模式名,如访问ADDRESS表的话,应使用PERSON.ADDRESS,于是在参考文献1中查看如何设置模式名,找到如下说明:
在这里插入图片描述

  于是在代码的连接字符串中增加SCHEMA,并赋值为模式名,同时在DbFirst函数后增加表筛选函数,最终代码如下所示,此时即可正常创建PERSON模式下的表对象类文件。

SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){DbType = DbType.Dm,ConnectionString = "Server=localhost; User Id=SYSDBA; PWD=XXXXXXXX;SCHEMA=PERSON;DATABASE=PERSON",IsAutoCloseConnection = true});db.DbFirst.Where(name=>name.StartsWith("ADDRESS")||name.StartsWith("PERSON")).CreateClassFile("Models", "XXXXXXXX.Models");

  
  

参考文献:
[1]https://www.donet5.com/Home/Doc?typeId=1229
[2]https://eco.dameng.com/document/dm/zh-cn/app-dev/dot-Net-Data-Provider.html

这篇关于C#调用SqlSugar操作达梦数据库报错“无效的表或视图名”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643362

相关文章

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

通过C#获取Excel单元格的数据类型的方法详解

《通过C#获取Excel单元格的数据类型的方法详解》在处理Excel文件时,了解单元格的数据类型有助于我们正确地解析和处理数据,本文将详细介绍如何使用FreeSpire.XLS来获取Excel单元格的... 目录引言环境配置6种常见数据类型C# 读取单元格数据类型引言在处理 Excel 文件时,了解单元格

C#实现高性能Excel百万数据导出优化实战指南

《C#实现高性能Excel百万数据导出优化实战指南》在日常工作中,Excel数据导出是一个常见的需求,然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈,下面我们看看C#如何结合EPPl... 目录一、技术方案核心对比二、各方案选型建议三、性能对比数据四、核心代码实现1. MiniExcel

SQL常用操作精华之复制表、跨库查询、删除重复数据

《SQL常用操作精华之复制表、跨库查询、删除重复数据》:本文主要介绍SQL常用操作精华之复制表、跨库查询、删除重复数据,这些SQL操作涵盖了数据库开发中最常用的技术点,包括表操作、数据查询、数据管... 目录SQL常用操作精华总结表结构与数据操作高级查询技巧SQL常用操作精华总结表结构与数据操作复制表结

查看MySQL数据库版本的四种方法

《查看MySQL数据库版本的四种方法》查看MySQL数据库的版本信息可以通过多种方法实现,包括使用命令行工具、SQL查询语句和图形化管理工具等,以下是详细的步骤和示例代码,需要的朋友可以参考下... 目录方法一:使用命令行工具1. 使用 mysql 命令示例:方法二:使用 mysqladmin 命令示例:方

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最