标签: sqlclient

例外:为'system.data.sqlclient.sqlconnection'输入初始值设定项?

我无法弄清楚这个异常的问题是什么.

'System.Data.SqlClient.SqlConnection'的类型初始值设定项引发了异常

第一次尝试:我正在使用WCF服务来制作一些小应用程序.它工作得很好,我可以正确使用LINQ.2或3天后.也许在我关闭Visual Studio并再次加载项目之后.出现异常.

第二次尝试也一样.我创建了另一个项目,它工作得很好,直到我做其他事情(我不更改任何代码)

SQL Server工作正常,我可以通过SQL Management Studio连接没有问题.

单击Debug错误会将我引导至linq文件的连接字符串.

可能是什么问题呢?我试图搜索但找不到解决这个问题的答案.

谢谢

c# linq wcf exception sqlclient

10
推荐指数
1
解决办法
4万
查看次数

System.Data.IDbCommand和异步执行?

System.Data.SqlClient.SqlCommand有方法

BeginExecuteNonQuery
BeginExecuteReader
BeginExecuteXmlReader
Run Code Online (Sandbox Code Playgroud)

和

EndExecuteNonQuery
EndExecuteReader
EndExecuteXmlReader
Run Code Online (Sandbox Code Playgroud)

用于异步执行.

System.Data.IDbCommand只有

ExecuteNonQuery
ExecuteReader
ExecuteXmlReader
Run Code Online (Sandbox Code Playgroud)

它们仅用于同步操作.

是否有任何异步操作接口?
另外,为什么没有BeginExecuteScalar?

c# sql asynchronous interface sqlclient

10
推荐指数
2
解决办法
5039
查看次数

'while'在异步计算表达式中,条件是异步的

我正在玩F#中使用SqlClient而且我在使用时遇到了困难SqlDataReader.ReadAsync.我正在尝试做F#等价的

while (await reader.ReadAsync) { ... }

在F#中做到这一点的最佳方法是什么?以下是我的完整计划.它有效,但我想知道是否有更好的方法来做到这一点.

open System
open System.Data.SqlClient
open System.Threading.Tasks

let connectionString = "Server=.;Integrated Security=SSPI"

module Async =
    let AwaitVoidTask : (Task -> Async<unit>) =
        Async.AwaitIAsyncResult >> Async.Ignore

    // QUESTION: Is this idiomatic F#? Is there a more generally-used way of doing this?
    let rec While (predicateFn : unit -> Async<bool>) (action : unit -> unit) : Async<unit> = 
        async {
            let! b = predicateFn()
            match b with
                | true -> action(); do! While …
Run Code Online (Sandbox Code Playgroud)

f# asynchronous sqldatareader sqlclient

10
推荐指数
1
解决办法
572
查看次数

Mono相当于ClientConnectionId

我想在mono下运行这个功能(我目前的版本是4.0.2)

 public Object GetConnectionProperty(SqlConnection _conn, string prop)
    {
        if (_conn.State == ConnectionState.Closed &
            prop == "ServerVersion")
            return string.Empty;

        if (prop == "ClientConnectionId")
        {
            Guid guid = _conn.ClientConnectionId;
            return guid.ToString();
        }
        return _conn.GetType().GetProperty(prop).GetValue(_conn);
    }
Run Code Online (Sandbox Code Playgroud)

但它失败了,错误:

error CS1061: Type `System.Data.SqlClient.SqlConnection' does not contain a 
definition for `ClientConnectionId' and no extension method 
`ClientConnectionId' of type `System.Data.SqlClient.SqlConnection' could be 
found. Are you missing an assembly reference?
Run Code Online (Sandbox Code Playgroud)

Mono相当于ClientConnectionId什么?或者我该如何解决?

c# sql-server mono sqlclient

9
推荐指数
1
解决办法
288
查看次数

System.InvalidCastException: 'SqlParameterCollection 只接受非空的 SqlParameter 类型对象,不接受 SqlParameter 对象。

我将我的项目从 ASP.NET Core 2.2 迁移到 ASP.NET Core 3.0。现在我得到了这个例外。在 ASP.NET Core 2.2 中,它使用FromSql(); 现在它正在使用FromSqlRaw(). 我正在使用 Entity Framework Core 调用我的过程。

SqlParameter Username = new SqlParameter
            {
                ParameterName = "USERNAME",
                SqlDbType = SqlDbType.NVarChar,
                Value = user.Username,
                Direction = ParameterDirection.Input,
                Size = 50
            };

SqlParameter Password = new SqlParameter
            {
                ParameterName = "PASSWORD",
                SqlDbType = SqlDbType.NVarChar,
                Value = user.Password,
                Direction = ParameterDirection.Input,
                Size = 50
            };

SqlParameter msgOut = new SqlParameter
            {
                ParameterName = "MSG",
                SqlDbType = SqlDbType.NVarChar,
                Direction = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net sqlclient asp.net-core asp.net-core-3.0

9
推荐指数
2
解决办法
4761
查看次数

如何使用 Microsoft.Data.SqlClient Version=4.0.0 修复“目标主体名称不正确”错误

升级后Microsoft.Data.SqlClient Version=4.0.0出现错误:

已成功与服务器建立连接,但登录过程中出现错误。(提供程序:SSL 提供程序,错误:0 - 目标主体名称不正确。

我查找了重大更改https://github.com/dotnet/SqlClient/pull/1210,然后Encrypt=False在连接字符串中进行设置,但是错误仍然相同。

仅通过恢复到错误才消失2.0.1

有人可以建议如何解决该问题吗4.0.0?

sql-server sqlclient

9
推荐指数
1
解决办法
3万
查看次数

我什么时候应该使用Odbc,OleDb,SQLClient?有什么权衡取舍

我开始使用SQLServer数据库.所以我似乎应该使用System.Data.SqlClient命名空间.但是,我们有可能关闭我们的SqlServer数据库并转到MySql或Oracle.出于这个原因,我提出了一套关于我们的.Net应用程序如何与数据库通信的标准,以便在将来我们需要时更容易迁移到不同的数据库系统.

所以这是标准:

  1. 如果可能的话使用ORM(例如NHibernate)(没有LINQ,因为它只支持SqlServer,但是实体框架及其对Oracle和MySql的支持呢?)
  2. 如果ORM是过度杀死,则使用参数化SQL查询.
  3. 仅将存储过程用于需要在数据库上执行的长时间运行或复杂操作.

这让我想到了我的主要问题. 我应该使用哪个命名空间来编写DAL代码?

在我看来,选择是在System.Data.ODBC和之间System.Data.OleDB:

  • 有什么权衡取舍?
  • 一个比另一个更受欢迎吗?
  • 您对前3个标准有何看法?

.net database oledb odbc sqlclient

8
推荐指数
1
解决办法
1万
查看次数

使用SqlClient的System.IO.FileNotFoundException

解决了我在这里提到的问题后,我得到了以下异常

System.IO.FileNotFoundException:'无法加载文件或程序集'System.Data.SqlClient,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一.该系统找不到指定的文件.'

我的库是.NET Standard 1.4,WebApp是.NET Framework 4.6.1

System.Data.SqlClient是版本 - 4.3.0 NuGet包.所以我尝试了以下但是徒劳:

<dependentAssembly>
      <assemblyIdentity name="System.Data.SqlClient" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
      <bindingRedirect oldVersion="4.1.0.0" newVersion="4.3.0.0"/>
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

.net c# sqlclient

8
推荐指数
1
解决办法
4897
查看次数

更新Windows后出现SqlClient错误 - "传入的表格数据流(TDS)远程过程调用>(RPC)协议流不正确"

自从将Windows 10更新到1803以来,我已经开始接收此错误,只要我运行一个EF查询,该查询连接一个带有标量参数的表值函数.

消息:传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确.参数2(""):数据类型0x00未知.

堆栈跟踪:位于System.Threading.Tasks.Task.Execute()的System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()中的System.Data.SqlClient.SqlCommand.<> c.b__180_0(Task1结果).从抛出异常的先前位置开始的堆栈跟踪结束---在System.Data.Entity.Core.EntityClient的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处.Internal.EntityCommandDefinition.d__c.MoveNext()

我在.NET 4.6框架项目中使用Entity Framework v6.2.我验证了相同的代码在使用Windows 10 1709的另一台计算机上执行没有问题.我将计算机更新到Windows 10 1803而没有其他更改,我开始收到上述错误.导致错误的代码:

var query = from fs in db.ViewWithInformation
            join e in db.GetEventsForPerson(personnelId) on fs.Event_Id equals e.Event_Id
            where !fs.Is_Deleted
            select fs;
return await query.ToArrayAsync();
Run Code Online (Sandbox Code Playgroud)

如果我针对db.GetEventsForPerson删除连接,则查询将运行.上面的EF查询生成的SQL在SSMS中运行良好.

编辑5/15/2018:我已经确认这是由.NET Framework 4.7.2特别引起的.我在Windows 10 1709计算机上手动安装了.NET 4.7.2,错误再次启动.

sql-server sqlclient azure-sql-database .net-4.7.2

8
推荐指数
1
解决办法
2008
查看次数

在 .Net Core 2.0 中使用 System.Data.SqlClient.dll 时出现版本冲突错误

在 .Net Core 2.0 中使用 System.Data.SqlClient.dll 时出现版本冲突错误。它看起来像是 Core dll 和 NetStandard dll 之间的冲突。不知道为什么提到

"System.Data.SqlClient,版本=4.5.0.0

这是不存在的。

Web 应用程序调用业务库,业务库又调用 DAL。DAL 正在使用 System.Data.SqlClient.dll。全部都在 .Net Core2.0 中。

你能帮忙吗?

这是错误。

1> “System.Data.SqlClient, Version=4.2.0.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”和“System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”之间存在冲突. 1> "System.Data.SqlClient, Version=4.2.0.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 被选中是因为它是主要的并且 "System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a" “ 不是。1> 依赖于“System.Data.SqlClient, Version=4.2.0.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的参考文献[C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.data.sqlclient\4.4.3\ ref\netstandard2.0\System.Data.SqlClient.dll]。1> C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.data.sqlclient\4.4。3\ref\netstandard2.0\System.Data.SqlClient.dll 1> 项目文件项包括导致引用“C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.data.sqlclient\4.4.3\ref\netstandard2 .0\System.Data.SqlClient.dll”。1> C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.data.sqlclient\4.4.3\ref\netstandard2.0\System.Data.SqlClient.dll 1> 依赖于“System.Data.SqlClient,版本=4.5.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”[]。1> D:\Projects.Net Core\Test Apps\Postsharp\SmartBank.Web\SmartBank.Core.Business\SmartBank.Core.Business\bin\Debug\netcoreapp2.0\SmartBank.Core.DAL.dll 1> 项目文件项目包括导致引用“D:\Projects.Net Core\Test Apps\Postsharp\SmartBank.Web\SmartBank.Core.Business\SmartBank.Core.

sqlclient .net-core-2.0

7
推荐指数
1
解决办法
1564
查看次数