- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看了又看,但找不到可行的解决方案。
作为 C# 的中级水平和 HTML 等方面的中级水平,我想我应该使用 Razor 网页 来制作一个简单的网站。我希望创建一个数据库,其中包含每个页面的所有标题和描述的列表。然后我可以轻松地更改所有实例和对每个 html 文件的引用以保持 DRY。但是除了 SQL 表中的异常,我似乎什么也得不到。
我尝试使用 Visual Studio 2015:
将 connectionString 添加到 Web.config
<connectionStrings>
<add name="Database" connectionString="Data Source=|DataDirectory|\Database.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
创建 default.cshtml
@using WebMatrix.Data
@using System.Data.SqlClient
<Html><body> etc...
@{
var db = Database.Open("Database");
try
{
db.Query("SELECT * FROM Table");
}
catch (SqlException odbcEx)
{
System.Diagnostics.Debug.WriteLine("It is an Exception: " + odbcEx);
}
}
</body><Html>
在 Microsoft Edge 中运行
大约 10 秒后,该网站出现在本地主机上。但是表中有结果,只是输出中有一个异常(exception):
It is an Exception: System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at WebMatrix.Data.Database.EnsureConnectionOpen()
at WebMatrix.Data.Database.<QueryInternal>d__0.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at WebMatrix.Data.Database.Query(String commandText, Object[] parameters)
at ASP._Page_Default_cshtml.Execute() in c:\Users\Person\OneDrive\Documents\Website\Default.cshtml:line 29
我在网上搜索后发现,由于 WebMatrix 已过时,因此没有太多适用于 Visual Studio 的解决方案。据我所知,目前 Razor 似乎并未得到广泛使用。
我尝试将 connectionStrings 更改为一些不同的东西,但没有成功。我怎样才能让它发挥作用?
最佳答案
我认为问题出在您的连接字符串上。连接字符串需要指定一个 SQL Server。在这种情况下,您刚刚指定了一个文件路径。您需要一个数据库服务器来实际提供该 mdf 文件。
This SO question应该向您展示如何从现有服务器资源管理器连接获取连接字符串:
Then you can see the connection string in the properties of the connected server (choose the connection and press F4 or Alt+Enter or choose Properties on the right click menu).
这里解释了为什么您当前的连接字符串可能无法按您预期的方式工作:
很可能当您通过服务器资源管理器“连接”到您的 mdf 文件时,它正在使用 LocalDb。 LocalDb 是随 Visual Studio 一起提供的按需服务,允许您像您尝试做的那样轻松开发应用程序,而无需运行完整的 Sql Server 实例。
不幸的是,我现在没有一个带有附加 mdf 文件的运行示例,但我相信这样的东西会为你完成这项工作,我从 MSDN's article on connection strings 中抓取了这个字符串。
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />
这里有几个重要的部分:
Data Source=(LocalDB)\v11.0
- 这指定了要使用的按需启动 localdb 实例。请注意,此字符串中的版本 v11.0
因安装而异,您应该为您的字符串找到正确的版本。 (您应该能够在下面更轻松地找到它)AttachDbFilename=|DataDirectory|\DatabaseFilename.mdf
- 这告诉 LocalDb 加载该数据库文件。或者,localdb 将数据库文件保存在您的用户主目录或某处的 AppData 目录中。Integrated Security=true
- 连接字符串需要身份验证方案。两个可能的选项是 Integrated Security,它使用您的 Windows 凭据来尝试访问您的数据库,这适用于许多事情,LocalDb 就是其中之一。另一种选择是使用 sql 身份验证以及 sql 名称和密码进行连接。关于c# - 如何在 Visual Studio 中使用 Razor 网页设置数据库并连接到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321846/
我知道这个问题可能已经被问过,但我检查了所有这些,我认为我的情况有所不同(请友善)。所以我有两个数据集,第一个是测试数据集,第二个是我保存在数据框中的预测(预测值,这就是没有数据列的原因)。我想合并两
在 .loc 方法的帮助下,我根据同一数据框中另一列中的值来识别 Panda 数据框中某一列中的值。 下面给出了代码片段供您引用: var1 = output_df['Player'].loc[out
当我在 Windows 中使用 WinSCP 通过 Ubuntu 连接到 VMware 时,它提示: The server rejected SFTP connection, but it lis
我正在开发一个使用 xml web 服务的 android 应用程序。在 wi-fi 网络中连接时工作正常,但在 3G 网络中连接时失败(未找到 http 404)。 这不仅仅发生在设备中。为了进行测
我有一个XIB包含我的控件的文件,加载到 Interface Builder(Snow Leopard 上的 Xcode 4.0.2)中。 文件的所有者被设置为 someClassController
我在本地计算机上管理 MySQL 数据库,并通过运行以下程序通过 C 连接到它: #include #include #include int main(int argc, char** arg
我不知道为什么每次有人访问我网站上的页面时,都会打开一个与数据库的新连接。最终我到达了大约 300 并收到错误并且页面不再加载。我认为它应该工作的方式是,我将 maxIdle 设置为 30,这意味着
希望清理 NMEA GPS 中的 .txt 文件。我当前的代码如下。 deletes = ['$GPGGA', '$GPGSA', '$GPGSV', '$PSRF156', ] searchquer
我有一个 URL、一个用户名和一个密码。我想在 C# .Net WinForms 中建立 VPN 连接。 你能告诉我从哪里开始吗?任何第三方 API? 代码示例将受到高度赞赏... 最佳答案 您可以像
有没有更好的方法将字符串 vector 转换为字符 vector ,字符串之间的终止符为零。 因此,如果我有一个包含以下字符串的 vector "test","my","string",那么我想接收一
我正在编写一个库,它不断检查 android 设备的连接,并在设备连接、断开连接或互联网连接变慢时给出回调。 https://github.com/muddassir235/connection_ch
我的操作系统:Centos 7 + CLOUDLINUX 7.7当我尝试从服务器登录Mysql时 [root@server3 ~]# Mysql -u root -h localhost -P 330
我收到错误:Puma 发现此错误:无法打开到本地主机的 TCP 连接:9200(连接被拒绝 - 连接(2)用于“本地主机”端口 9200)(Faraday::ConnectionFailed)在我的
请给我一些解决以下错误的方法。 这是一个聊天应用....代码和错误如下:: conversations_controller.rb def create if Conversation.bet
我想将两个单元格中的数据连接到一个单元格中。我还想只组合那些具有相同 ID 的单元格。 任务 ID 名称 4355.2 参与者 4355.2 领袖 4462.1 在线 4462.1 快速 4597.1
我经常需要连接 TSQL 中的字段... 使用“+”运算符时 TSQL 强制您处理的两个问题是 Data Type Precedence和 NULL 值。 使用数据类型优先级,问题是转换错误。 1)
有没有在 iPad 或 iPhone 应用程序中使用 Facebook 连接。 这个想法是登录这个应用程序,然后能够看到我的哪些 facebook 用户也在使用该应用程序及其功能。 最佳答案 是的。
我在连接或打印字符串时遇到了一个奇怪的问题。我有一个 char * ,可以将其设置为字符串文字的几个值之一。 char *myStrLiteral = NULL; ... if(blah) myS
对于以下数据 - let $x := "Yahooooo !!!! Select one number - " let $y := 1 2 3 4 5 6 7 我想得到
我正在看 UDEMY for perl 的培训视频,但是视频不清晰,看起来有错误。 培训展示了如何使用以下示例连接 2 个字符串: #!usr/bin/perl print $str = "Hi";
我是一名优秀的程序员,十分优秀!