问题标签 [oledb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5266 浏览

c# - 检查 OleDbConnection 状态的最佳方法

显然(MSDN)有时 OleDbConnection.ResetState() 什么都不做,所以即使连接失败 OleDbConnection.State 仍将设置为打开。我正在为此寻找最佳解决方法,以便在检查连接状态时可以避免引发异常(只要在上次检查和使用尝试之间连接没有失败)。

有没有比每次发送一个“无用”的sql语句只是为了查看是否抛出异常更好的了?在实际使用之前,如何确保连接已打开?

0 投票
1 回答
876 浏览

reporting-services - 如何在 Reporting Services 数据集中“参数化”DB2/iSeries 文件?

这是我的 Microsoft Reporting Services 报告 (.rdl) 中数据集的示例查询

这是通过 IBM 的 OLE DB 驱动程序连接到 iSeries。

我如何“参数化”“接口”部分。

0 投票
4 回答
6510 浏览

c# - 为什么通过 OleDb 在 Access 数据库中调用我的 UPDATE 查询不起作用?

更新 2:我解决了这个问题,请参阅我的答案。


我正在使用 OleDb 从 C# 调用 Microsoft Access 数据库中的查询,但我的更新查询无法正常工作。

不会引发错误,但更新不会持久保存在数据库中。

任何人都可以对此有所了解吗?


数据库中的SQL查询:

C#:

连接字符串:


更新1:

我试图通过创建一个包含单个表和单个查询的新数据库来缩小可能性,并确保在运行 C# 更新表时关闭访问。

更新仍未执行。我怀疑这是语法问题(也可能是权限问题?),但是如果没有任何错误消息,很难调试!

0 投票
4 回答
6243 浏览

c# - 使用 Microsoft Jet OLEDB 对 CSV 的列限制

我正在从包含大约 350 列的 CSV 导入数据。这个 CSV 导入是固定的,我完全无法控制它。

如果我尝试在 Excel 2003 中打开 CSV,由于列限制为 255 (IV),它只能部分加载。

当我使用 OleDb 和 Microsoft.Jet.OLEDB.4.0 将 CSV 加载到数据集中时,它也只显示 255 列。更糟糕的是,当尝试访问这 255 列中的某些列的数据时,它会显示不正确的数据,并且会不一致地拆分值。

如果我在 Excel 中打开 CSV,让它截断数据并重新保存,我的导入工作正常。

我的问题是,有没有其他人遇到过 Jet.OLEDB 提供程序的这种限制。如果是,是否有解决该问题的方法?如果没有,是否有可以加载如此大的 CSV 的替代解决方案?

注意:这不是一次性的任务,我需要为最终用户提供一个浏览/上传按钮,以便在他们需要时执行此导入。

0 投票
5 回答
4639 浏览

c# - 如何在长名称 dbf 文件上使用 GetOleDbSchemaTable 方法

作为我在 C# 中工作的项目的一部分,我需要读取 .dbf 文件。我要做的第一件事是从文件中获取模式表。只要文件名(不带扩展名)不超过 8 个字符,我的代码就可以工作。

例如,假设我有一个名为 MyLongFilename.dbf 的文件。以下代码不起作用;它引发以下异常:“Microsoft Jet 数据库引擎找不到对象 'MyLongFilename'。确保对象存在,并且正确拼写其名称和路径名。”</p>

为了克服这个异常,下一步是使用 OldDbConnection 喜欢的名称('MyLongF~1' 而不是 'MyLongFilename'),这会导致:

这确实成功返回了 OleDbConnection。现在要获取架构表,我尝试以下操作:

这将返回一个没有行的 DataTable。如果我将文件名重命名为 8 个或更少的字符,则此代码有效,并且我为数据库中的每个字段返回一行。

使用长文件名,我知道返回的连接是有效的,因为我可以使用它来填充 DataSet,如下所示:

这给了我一个 DataSet,其中包含一个 DataTable,其中包含 dbf 文件中的所有数据。

所以问题是我怎样才能得到长命名的 dbf 文件的模式表?当然,我可以通过重命名/复制文件来解决这个问题,但我不想这样做。我也不想用前 1 条记录填充 DataSet 并从列中推断出架构。

0 投票
2 回答
3611 浏览

ms-access - OLEDB 使用 DSN 连接到 Access 数据库

我想要使​​用 Dsn 的 oledb 连接。我使用了以下代码

但是错误来了,错误名称是“找不到可安装的 ISAM”我做什么。请告诉我。

0 投票
1 回答
1092 浏览

c# - Excel DateTime 作为 DBNull 返回

我有一些使用 OLEDB ( Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;) 的 Excel 文件读取代码,它运行良好,但我一直遇到一个问题,即某些日期返回为 DBNull。

在原始 XLS 文档中,有效的日期格式(en-GB 语言环境)为:

以下样式失败:

Excel 知道它们都是日期(尽管我不能强制它们正确设置样式),因为以下正确显示了日期:

有没有办法在不改变自动生成的原始文件的情况下获取数据?


编辑以供参考,这是我的读取数据方法(假设已经设置了 dbAdapter - 请注意 DBNull 不是来自根本没有触发的捕获):

0 投票
2 回答
2545 浏览

c# - 结果中省略了excel中的第一项(DataSet,OleDB)

[样本.xlsx]

[应用]

lbExcelData是窗体上的 ListBox 控件。

[结果]

“项目B”、“项目C”、“项目D”

[问题]

为什么第一项“ItemA”被忽略?

0 投票
1 回答
9056 浏览

c# - C# Access 数据库正在使用或权限失败

我正在使用 Access 2007 和 C# 来学习数据库。到目前为止,这很艰难,但我已经能够相对较好地处理事情了。我需要做的是根据他们的密码查询我的数据库表 Accounts 以获取用户拥有的金额。我在我正在使用的 Windows 窗体上放置了一个按钮,该按钮将在单击时查询数据库。当我正常运行/单击按钮时,我收到以下错误。

基本上我的问题是:我将如何设置权限,以便我的程序可以自由访问我拥有的 Access 数据库?

我的异常错误:

异常:System.Data.OleDb.OleDbException:Microsoft Office Access 数据库引擎无法打开或写入文件“C:\Users\Public”。它已被其他用户独占打开,或者您需要权限才能查看和写入其数据。

我的代码:

0 投票
1 回答
1646 浏览

c# - dat idx 文件数据库识别

我在一个目录中有一些 .dat 和 .idx 文件和一个 .sup 文件,我想知道是否有任何工具或 .net 编程技术来找出什么类型的数据库?

我不知道这是否有帮助,但如果我将一个 .dat 文件作为文本文件打开,我会得到:0~0904021846460509040218464605>ÀÀX2Ü

而所有 .dat 文件的共同部分,是开头 0~09040218 的以下字符串。

你能帮我一把吗?非常感谢。亲切的问候。何塞马。