Closed JimmyTsai75 closed 1 week ago
用原生DataReader测试 ,那基本可以确定是原生就不支持了 可能你这个DSN比较特别,其他数据库ODBC是可以的
var dr=db.Ado.GetDataReader(); while(dr.Read()) { xxxx }
找到原因了,我的数据库是mssql,我的Email这个表里面有一个字段EmailContent 这个字段的类型是text类型,里面的数据一行有3000多个字,我如果执行select top 2 [email_content] from EmailInfo 遇到有3000多个汉字的那个字段就会出现一直等到的情况,如果我不是使用odbc链接,这种情况是没有问题的
SC.Context = new SqlSugarClient(new ConnectionConfig()
{
DbType = SqlSugar.DbType.SqlServer,
IsAutoCloseConnection = true,
ConnectionString = AppConfig.ConnectionString,
});
但是如果我使用odbc连接,就会出现select里面有这种文字比较多的数据就会一直等待,请问这个有没有什么办法可以解决
找到解决办法了,升级ODBC驱动就可以了。另外有个新的问题:我用odbc连接的时候,我要如何让程序知道我连接的数据库时mssql。
我现在执行var list = db.Queryable
我这个我支持一下吧,现在支持 databasemodel, 可以满足你需求 明天给你发布个版本
好的,太感谢了!
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
DbType = DbType.Odbc,
ConnectionString = Config.ConnectionString,
IsAutoCloseConnection = true,
MoreSettings=new ConnMoreSettings()
{
DatabaseModel=DbType.SqlServer
}
});
更新到这个版本 ,配置databasemodel支持了sqlserver分页 【 SqlSugar.OdbcCore 5.1.4.160】
非常感谢,使用新版本之后,问题解决!!
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { DbType = DbType.Odbc, ConnectionString = Config.ConnectionString, IsAutoCloseConnection = true, MoreSettings=new ConnMoreSettings() { DatabaseModel=DbType.SqlServer } });
更新到这个版本 ,配置databasemodel支持了sqlserver分页 【 SqlSugar.OdbcCore 5.1.4.160】
我设置了这个,但是我的数据库时SQL Server2008 ,不支持Offset Fetch Next ,那么这个时候如何使用ToPageList 呢?谢谢!
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { DbType = DbType.Odbc, ConnectionString = Config.ConnectionString, IsAutoCloseConnection = true, MoreSettings=new ConnMoreSettings() { DatabaseModel=DbType.SqlServer } });
更新到这个版本 ,配置databasemodel支持了sqlserver分页 【 SqlSugar.OdbcCore 5.1.4.160】
我设置了这个,但是我的数据库时SQL Server2008 ,不支持Offset Fetch Next ,那么这个时候如何使用ToPageList 呢?谢谢!
你们是一个人吗?不是一个人最好发新的issue 这个都关闭了。 这个是ODBC连接 ,你不会这么巧也需要用ODBC链接吧
关闭的我可能会忘记查看
我们不是同一个人
非常感谢这么快速的回复我上一个问题。 我现在把我的代码重新贴一遍:
我的项目采用.net framework 6.0 在NuGet里面安装的依赖性是SqlSugar.OdbcCore 和 SqlSugarCore 我的ODBC 采用用户Dsn,这个SendMail测试是正常的,并且var intValue=db.Ado.SqlQuerySingle("select 1 from EmailInfo"); 这个语句可以正常返回也说明这个Dsn是可以的
现在的问题就是如果我是执行类似db.Ado.GetDataTable("select * from EmailInfo"); 这样的语句,就会出现一直等待的情况,没有采用异步操作,如果我把button1_Click改成async/await 也是一样的不可以