- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 OledbConnection
调用到 Microsoft Access 数据库。调用该方法没有问题,还可以检索必要的数据。
我不知道在那个方法之后 session 会自动超时。并转到登录页面。为什么?我失去了一整天的调试和发现问题。
string strQuery = "select count(LOC1) as LOC1 from shrmwise";
DataTable dt = new DataTable();
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
using (OleDbCommand command = new OleDbCommand(strQuery, connection))
{
try
{
OleDbDataReader reader = command.ExecuteReader();
dt.Load(reader);
reader.Close();
}
catch (Exception ex)
{
throw ex;
//Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
return dt;
}
}
已编辑
如果上面的方法调用被注释,则不会超时。
它不会在本地主机上超时,而是在实时服务器上超时。
我的connectionString如下
string connectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=E:\Data\MyDatabase.mdb;" +
@"User Id=;Password=;";
最佳答案
通常在 IIS/ASP.NET 环境中,应用程序以 MEDIUM TRUST settings and not with FULL TRUST 运行.这意味着您的代码无法 Access 位于站点根目录之外的文件系统的任何部分。
为了解决应用程序需要一个可以读写的地方而不用担心太多安全限制的问题,已经采用了约定。
约定是在站点根目录下有一个名为 APP_DATA 的子文件夹,其中运行您的应用程序的 ASP.NET 服务的用户 (IUSR) 具有读/写权限。在这里您可以放置您的数据库或其他读/写文件。创建子文件夹来存储不同类型的文档等。
因此,只要按照约定将数据库移动到该文件夹中,就可以解决您的问题。或者,在验证此类移动的安全后果后,强制您的站点到 run in FULL TRUST .
当然,如果您必须手动创建 APP_DATA 文件夹,请确保还为 IIS 用户设置了正确的权限。
关于c# - 为什么 OledbConnection 打开后 session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46403652/
当我尝试此代码时 OleDBConnection.open() 不起作用并且没有抛出任何错误,只需打开窗口窗体并说出任何我看到的 messageBox try1 但程序没有显示 try2 是什么我的连
我已经编写了用于将数据插入到 excel 表中的代码。我的代码不会引发任何异常,并且每次 excel 文件的大小都会增加 1KB。但是当我打开工作表时,它没有显示任何数据。 我很困惑,无法弄清楚问题所
所以,我有与C#/ASP.NET Oledb - MS Excel read "Unspecified error"中描述的相同的症状,但是我的my answer似乎没有修复它。即使总是关闭 OleD
Related Question 即使在我对初始化的 OleDbException 调用 dispose 之后,我的代码也不会释放文件句柄。有没有办法显式强制程序释放文件句柄? 最佳答案 默认情况下,
我正在使用 OleDatabase 连接连接到 Access 数据库。问题是我需要以编程方式在数据库上运行压缩和修复操作,但是当仍然有与数据库的打开连接时我不能这样做。存在的连接当然是来 self 程
C# 相当新,无论如何,我有我编写的这个 Initialise 方法,它基本上创建到 MS2007 Access 数据库的连接,用 4 个数据表填充数据集,这些数据表是一些查询的结果。 pub
我在这里使用 OleDbConnection 作为连接字符串,但我在行中收到错误 if (conn.State == ConnectionState.Closed) Error as CS0019:
C#、.Net 2.0:我有一个类包装来自通过 OleDbConnection 对象访问的数据库的单个记录。这很简单,它执行一个“SELECT * FROM table WHERE key = {so
我尝试使用以下连接字符串连接到远程 SQL Anywhere 10 数据库服务器,但收到“未找到数据库服务器”错误。 OleDbConnection conn = new OleDbConnectio
我在使用 OleDbConnection 从文本文件中读取非 ASCII 字符时遇到问题。有任何想法吗? 这是我用来重现问题的测试方法: [TestMethod] public void TestMe
我正在尝试连接到包含两个表的数据库。但是,在我尝试登录后,出现错误。该错误表明零点处没有行。我认为这是因为我的连接: using System; using System.Collections.Ge
我的制表符分隔文件是这样的: ISO ISO3 ISO-Numeric AD AND 20 我一直在尝试以下代码,但没有成功。 OleDbConnection cn = new OleDbC
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Is there any need to close a DbConnection if a using c
显然 ( MSDN ) 有时 OleDbConnection.ResetState() 什么都不做,所以即使连接失败 OleDbConnection.State 仍将设置为打开。我正在为此寻找最佳解决
我必须使用 OleDbConnection 来创建一个新的 excel 文件,但是当我用这个字符串打开连接时: OleDbConnection excelConnection =
我正在构建一个 ssis 包,我希望在脚本组件中使用现有的 OleDbConnection。这是我的代码: public override void AcquireConnections(object
我在 OleDbConnection Access 同一网络中 Windows 共享上的 .mdb 文件时遇到问题。当它在使用部分结束时被处理,需要超过 2 秒。打开连接并执行查询或填充 DataTa
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. 我知道这个的常见修复方法是安装: Mic
谁能帮我解决一个我似乎无法解决的问题。我在用于桌面的 VSE2012 express 和用于桌面的 VSE2013 express 中创建了一个 C# 表单,其中我将表单保留为默认大小并再次添加一个完
我有 MS Access 数据库,其中包含 Columns,其中 Names 具有丹麦语字符。例如Døbt 当程序在丹麦位置的 PC 上运行时,一切正常,但在乌克兰位置的 PC 上,我收到错误消息,指
我是一名优秀的程序员,十分优秀!