DotNetNext/SqlSugar

SqlSugar 使用 ODBC 连接 SQL Server 2008 , 使用GetPageListAsync 、 AsUpdateable 出错

Yoodanet opened this issue · 14 comments

  1. 使用GetPageListAsync 错误:
    ERROR [42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]接近 'OFFSET' 之處的語法不正確。
    ERROR [42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]接近 'OFFSET' 之處的語法不正確。[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]FETCH 陳述式中的選項 NEXT 使用方式無效。”

  2. 使用repo.AsUpdateable().SetColumns(it => it.name== "test").Where(it => it.id == 1).ExecuteCommandAsync() 出错:
    ERROR [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]無效的物件名稱 'DUAL'。

已经设置MoreSettings 参数 DatabaseModel=DbType.SqlServer。

请问SqlSugar 只能使用原生SQL脚本来查询分页和其他操作吗?谢谢!

为什么要用ODBC连sqlserver 。。最近 怎么都流行ODBC了,我想办法支持一下

为什么要用ODBC连sqlserver 。。最近 怎么都流行ODBC了,我想办法支持一下

嗯,目前部署使用的是Docker,但是目标数据库是SQL Server2008 R2 SP1 , Docker 最低支持 SQL Server 2008 R2 SP3。数据库服务器无法安装SP3,只能转而求其次使用 ODBC 了。我下午测试了一下,发现了伤处错误。如果能有API 支持是最好了的。感谢!!!

过五分钟后更新到这个版本
SqlSugar.OdbcCore 5.1.4.161

//程序启动时加上这句话
OdbcConfig.IsCompatibleWithOldDatabaseVersion = true;

过五分钟后更新到这个版本 SqlSugar.OdbcCore 5.1.4.161

//程序启动时加上这句话
OdbcConfig.IsCompatibleWithOldDatabaseVersion = true;

这速度,不得了了啊!感谢!!!

加上上面上面那句话之后,我启动程序出错了。
我项目中使用了AutoMapper,然后我在Program.cs 注册服务,就报错了。
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);

        // SqlSugar 处理 ODBC 连接 SQL Server 2008 R2 等老数据库使用API出错的问题
        OdbcConfig.IsCompatibleWithOldDatabaseVersion = true;

        // 下面这段代码开始出错了
        builder.Services.AddAutoMapper(System.AppDomain.CurrentDomain.GetAssemblies());
    }

错误信息如下:
System.Reflection.ReflectionTypeLoadException:“Unable to load one or more of the requested types.”

麻烦在帮助查看一下,谢谢!

这一行代码不会影响注入

是不是你安装有的问题

清空解决方案,保证每个DLL都是最新

要不就写到AddAutoMapper下面

我把 SqlSugarCore 升级到了 5.1.4.160 ,重新build 后就没错了。谢谢!

现在GetPageListAsync可以正确拿到数据了,但是 .AsUpdateable().SetColumns(it => it.name == "test").Where(it => it.id== 1).ExecuteCommandAsync() 返回错误:
ERROR [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]無效的物件名稱 'DUAL'。

请再次帮助查看,谢谢!辛苦了!!!

SqlSugar.OdbcCore 5.1.4.162
更新到这个版本,还有疑问看生成的SQL是什么的。

升级之后已经可以正确进行数据更新操作了。非常感谢!!!

还有问题发新贴,这个就关闭了