SqlConnection未定义。

5

我正在尝试更新一些代码。我有一个以这个开头的VB文件...

Imports System.Data.SqlClient
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports System.Configuration

<script runat="server">

...并且它在这里失败了...

Using oConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString())

它返回的错误是...

"描述:编译资源时发生错误,该资源是为了服务此请求而需要的。请查看以下特定错误详细信息并适当修改您的源代码。

编译器错误消息:BC30002: 类型'SqlConnection'未定义。"

我是否缺少某些系统类?

编辑:我已将代码更新为以下内容...

Using oConn As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString())

为什么我每次使用此类中的对象时都需要显式地写出System.Data.SqlClient呢?

它会接受它,但这样做有什么目的吗?


1
你有 System.Data.dll 的引用吗? - Marc Gravell
请查看Jeff的回答。此外,我尝试简单地输入“Imports System.Data.dll”,但它显示无法识别。 - Mr. Ant
5个回答

1

所以,事实证明这一行是问题所在...

Using oConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString())

...不再使用"tps_write",我将权限更改为"tpsWrite"。 显然,tps_write是一项过时的权限,在我们的工作中不再使用。 我希望错误信息更加清晰。;)

感谢大家的帮助!


1
编辑:我将代码更新为以下内容...

使用oConn As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString())

...它可以接受。 为什么每次使用该类中的对象时都需要明确编写System.Data.SqlClient???

我最好的猜测是那里还有另一个名为SqlConnection的类,.NET 在您明确指定System.Data.SqlClient.SqlConnection类型之前不知道要使用哪种类型。


@Ant,我在阅读你的编辑后修改了我的答案。你的应用程序中还有其他类或者名为SqlConnection的东西吗? - Jason Towne
好的指出。我认为那可能是问题所在。我需要进一步调查。谢谢! - Mr. Ant

1

当我在寻求帮助时,遇到了与无法在vb.net .NET5 Windows桌面应用程序中创建SQL连接的类似问题。我也遇到了“sqlconnection未定义”的错误。

我的解决方法是添加一个名为"System.Data.SqlClient"的NuGet包,由Microsoft提供。您可以通过转到工具>NuGet软件包管理器...>管理解决方案的NuGet软件包...来打开NuGet软件包管理器。

希望这将有助于您或其他正在寻找解决方案的人。


0
请确保在web.config文件中指定了连接字符串。您应该看到类似于此的标签:
<connectionStrings>
<--! Below is your connection string>
<add name="ConnName" connectionString="Data Source=PROGRAMMER2\SQLServer;Initial Catalog=PPSSecurity;Integrated Security=true;" />
</connectionStrings>

0
如果您的项目是一个Web应用程序,您可能会缺少对System.Data的引用。在解决方案资源管理器中右键单击项目,然后转到添加引用。在.NET选项卡上,选择System.Data.dll并单击确定。

尝试不使用“.dll”文件。System.Data在列表中吗? - Jeff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接