NET ORM Odbc操作数据库

Odbc中一个通用数据库访问框架,只要支持ODBC连接的都能用ODBC去操作数据库


.NET Core (.NET 5 6 7 8 )  安装

//Nuget 安装
SqlSugar.OdbcCore  
SqlSugarCore


.NET Framework 安装

//Nuget 安装
SqlSugar.Odbc 
SqlSugar



ODBC安装

需要安装你要连接的Odbc驱动 

我们可以到 控制面板\所有控制面板项\管理工具\Odbc64数据源 查看是否已安装

具体操作可以百度或者看驱动厂商的文档


字符串格式

格式不确性太多, 最好找厂商 或者百度

Driver={驱动名};....


创建Db对象

 //这行代码扔程序启动时
 InstanceFactory.CustomAssemblies = new System.Reflection.Assembly[] { typeof(OdbcProvider).Assembly };
 
 //按文档入门使用
 SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
            {
                DbType = DbType.Odbc,
                ConnectionString = Config.ConnectionString, 
                IsAutoCloseConnection = true,
                AopEvents = new AopEvents
                {
                    OnLogExecuting = (sql, p) =>
                    {
                        Console.WriteLine(sql); 
                    }
                }
            });


支持情况

1、不支持CodeFirst

2、兼容性未知 DbFirst

3、兼容性未知  普通用的CRUD  

4、原生脚本兼容完美 

    //sql
    var dt=db.Ado.GetDataTable("select*from order where @id>0 or name=@name", new List<SugarParameter>(){
        new SugarParameter("@id",1),
        new SugarParameter("@name","2")
    });

    //sql  
    var dt2 = db.Ado.GetDataTable("select * from order where @id>0  or name=@name", new { id = 1, name = "2" });

    //Stored Procedure
    //var dt3 = db.Ado.UseStoredProcedure().GetDataTable("sp_school", new { name = "张三", age = 0 }); 
    //var nameP = new SugarParameter("@name", "张三");
    //var ageP = new SugarParameter("@age", null, true);//isOutput=true
    //var dt4 = db.Ado.UseStoredProcedure().GetDataTable("sp_school", nameP, ageP);



    //There are many methods to under db.ado
    var list= db.Ado.SqlQuery<Order>("select * from order ");
    var intValue=db.Ado.SqlQuerySingle<int>("select 1 from dual");
    db.Ado.ExecuteCommand("delete  from order where id>1000");
    db.Ado.ExecuteCommand($"delete  from order where id>1000");

更多ADO用法:

https://www.donet5.com/Home/Doc?typeId=1198


常见错误

先看文档安装,如果发布后还报错按下面操作

//程序启动时加
InstanceFactory.CustomAssemblies =new System.Reflection.Assembly[] { typeof(OdbcProvider).Assembly };

 

关闭
果糖网