问题标签 [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 投票
6 回答
478 浏览

c# - 如何摆脱数据库中的多个列?

我正在创建一个 Access DB 用于学校的 C# 应用程序。我没有太多使用 DB 的经验,所以如果这听起来很愚蠢,请忽略它。我希望用户能够选择某个学生在我们 IT 部门上过的所有课程。我们总共有大约 30 个,一个人在 4 年的高中学习的最大值是 15 个。现在我的数据库有 15 个不同的列用于用户可以拥有的每个班级。如何将其压缩为一列(如果有办法)?

0 投票
2 回答
1267 浏览

delphi - 如何在 Delphi 7 应用程序中启用 OLEDB 资源池

在 Delphi 7 应用程序中启用池需要做什么?我的连接字符串是:

提供程序=SQLOLEDB.1;初始目录=%s;数据源=%s;密码=%s;用户 ID=%s;OLE Db 服务=-1

我可以通过查看 SQLServer:GeneralStatistics UserConnections 性能计数器来判断连接池没有实现——当我的应用程序运行时它会剧烈波动。通过连接池,我希望它能够达到稳定状态。此外,我看到 Logins/sec 和 Logouts/sec 计数器都非常高 - 如果使用连接池,Logouts/sec 将为零或接近零。

在搜索中,我发现了这篇关于资源池的文章:

http://www.ddj.com/database/184416942

它建议“如果您使用 ATL 在 OLEDB SDK(或 COM)级别工作,则必须编写更多代码”(除了将 OLE Db Services=-1 添加到连接字符串)以获得连接池:

CDataSource 数据库;CDBPropSet dbinit(DBPROPSET_DBINIT);

dbinit.AddProperty(DBPROP_AUTH_USERID, "MyName); dbinit.AddProperty(DBPROP_INIT_DATASOURCE, "MyServer); dbinit.AddProperty(DBPROP_INIT_CATALOG, "MyDb); dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4); dbinit.AddProperty(DBPROP_INIT_LCID, (long)1033); dbinit.AddProperty(DBPROP_INIT_OLEDBSERVICES, (long)DBPROPVAL_OS_ENABLEALL); HRESULT hr = db .OpenWithServiceComponents(_T("sqloledb"), &dbinit);

不幸的是,该代码对我来说是希腊语,我不确定如何将其翻译为 Delphi(或者是否有必要)。

我也小心不要更改连接字符串。关于我可能需要做些什么来启用资源池的任何建议?

0 投票
1 回答
130 浏览

oracle - 使用非托管 Oracle 提供程序所需的最小占用空间是多少?

我正在开发一个用 .NET 编写的应用程序。我们目前正在为所有 .NET 操作使用 ODP.NET 11 的 xcopy 部署,一切都很好——我们可以在以前没有安装 Oracle 客户端的机器上运行。Peachy,也就是说,直到我们来到依赖于用 COM 编写的库的应用程序部分,显然(?)不能使用 .NET 提供程序。

为了使 Oracle 的 OLEDB 或 ODBC 提供程序正常工作,我们必须安装最少的东西是多少?

一些额外的细节:

  • 我相信任何 OLEDB 或 ODBC 提供程序都足以满足这些目的——性能并不是什么大问题。
  • 我们肯定需要将 ODP.NET 11 客户端用于 .NET 内容,因为我们使用的是 11 特定的功能。(所以我们不能只安装 big ol' 10 客户端。)
  • 我们最终会有一个安装程序,所以我们可以通过命令行安装我们需要的任何东西,这一点很重要。
0 投票
12 回答
108176 浏览

sql-server - AcquireConnection method call to the connection manager failed with error code 0xC0202009

I have an SSIS package which reads an Excel File (Data Flow Source) and transfer the data to SQL Server using OLEDB Destination Data Flow Item. The OLEDB Connection Manager used for the destination is configured to use Windows Authentication. The package works fine on my development machine. But when I open the same package on another machine and try to execute it gives the following error in Validation phase

Error: 0xC020801C at DFT_NSOffers, Source - 'Subscription Offers$' 1 [347]: The AcquireConnection method call to the connection manager "ExcelConnection_NSOffers" failed with error code 0xC0202009. Error: 0xC0047017 at DFT_NSOffers, DTS.Pipeline: component "Source - 'Subscription Offers$' 1" (347) failed validation and returned error code 0xC020801C. Error: 0xC004700C at DFT_NSOffers, DTS.Pipeline: One or more component failed validation. Error: 0xC0024107 at DFT_NSOffers: There were errors during task validation

I'm using SQL Server 2005 (Version - 9.0.1399)

How do I fix this? Do I need to install any other component or service pack?

0 投票
3 回答
1868 浏览

oledb - DBF 大字符字段

我有一个我相信是用 Clipper 创建的数据库文件,但不能肯定地说(我有 .ntx 文件用于索引,我知道这是 Clipper 使用的)。我正在尝试创建一个 C# 应用程序,它将使用 System.Data.OleDB 命名空间读取此数据库。

在大多数情况下,我可以成功阅读表格的内容,但有一个字段我不能。此字段称为 CTRLNUMS,定义为 CHAR(750)。我已经阅读了通过 Google 搜索找到的各种文章,这些文章建议必须通过与正常分配给字符串变量不同的过程来读取大于 255 个字符的字段。到目前为止,我还没有在我找到的方法上取得成功。

以下是我用来读取表格的示例代码片段,其中包括我用来读取 CTRLNUMS 字段的两个选项。即使字段中存储了 750 个字符,这两个选项都导致返回 238 个字符。

这是我的连接字符串:

提供者=Microsoft.Jet.OLEDB.4.0;数据源=c:\datadir;扩展属性=DBASE IV;

谁能告诉我从 DBF 文件中读取更大字段的秘密?

0 投票
8 回答
12472 浏览

c# - OLEDB,在没有前导撇号的情况下编写 Excel 单元格

我正在使用 OLEDB (C#) 写入 Excel 文件。我需要的只是 RAW 数据格式。

我注意到所有单元格(标题和值)都以撇号 (') 为前缀

这是一种避免在所有文本单元格中添加它们的方法吗?

这是我的连接字符串:

我试过像这样使用 IMEX=1 :

但在那之后我收到以下错误:

Microsoft Jet 数据库引擎找不到对象“C:\Temp\New Folder\MF_2009_04_19_2008-11-182009_DMBHCSAM1118.xls”。
确保对象存在并且正确拼写其名称和路径名。

最后我试过像这样使用 IMEX=0 :

这次没有提出任何例外。

不幸的是,撇号仍然存在问题(所以我的每个值看起来都是:'123,'abc 等......)

任何的想法?

0 投票
1 回答
1932 浏览

c# - 带有 OLEDB 的 C# 中的 Excel 前缀字符导致更新时出现“条件表达式中的数据类型不匹配”错误

从 C# 使用 OLEDB 更新 Excel 文件时,如果原始文件具有隐藏的 PrefixCharacter(在我的情况下为撇号),则会收到错误“标准表达式中的数据类型不匹配”。如果我从原始文件中的单元格中删除撇号,我的应用程序将按预期工作,并且数据会更新而不会出现任何错误。除了在处理文件之前手动删除 PrefixCharacter 之外,有关如何解决此问题的任何建议?

0 投票
2 回答
150 浏览

c# - 使用 ac# 类中的字符/字符串/字节流向 java 提供数据

我想在 ac# 类中使用函数/方法(我希望尽可能少的延迟!)运行一个 java 应用程序...... c# 函数从 java 应用程序中获取一个字符串,并返回一个字符串.. 有在 c# 中执行此操作以在 Windows 中创建 OleDbConnection ..

0 投票
0 回答
150 浏览

sql-server-2005 - Connection Problems With Mirrored Database

The setup is as follows:

A C++ client connects via OLEDB/SQL Native Client to a SQL Server 2005 database located on another machine. The server is setup with mirroring (automatic failover) with a synchronized server located on yet another server and a witness server on another server.

Occassionally (once every couple of days), our application seizes up in that it appears to attempt to establish a database connection to the database and rather than simply failing and OLEDB throwing a database connection failure it just gets "stuck" (we have a timeout for the connection but it's never timing out). 24 to 36 hours later we'll get an error:

And things will continue you on with lots of these errors and our app will eventually need to be restarted. We can't really figure out what condition could be causing this behavior and what we can do about it?

In preliminary research, I've seen some related problems that were solved by setting the Connection Lifetime connection string property to something non-zero.

Does anyone have any thoughts on what might be going on here?

0 投票
1 回答
1270 浏览

javascript - Vista x64,小工具开发,OLEDB 错误:“找不到提供程序”

我正在开发一个 Vista 小工具。该小工具正在使用本地 .mdb 数据库,使用 OLEDB。代码如下:

它在 Vista 32 下工作,但在 x64 下失败并显示消息:

找不到提供者。它可能没有正确安装。

当我从命令行运行 javascript 文件时,不会发生错误。 getDbFilePath()返回正确的路径、数据库是否存在等。

如何解决?也许,有使用其他数据库提供者的意义吗?

谢谢