问题标签 [ado]

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 投票
4 回答
1445 浏览

scripting - 无线 HTA 中的 DAO 与 ADO

我编写了一个在无线网络上运行的小型(8-10 台笔记本电脑)销售点系统,作为一个 HTA,它可以读取/写入位于网络共享上的 Access MDB。
我需要使用 ADO - GetString 并且用户名册不适用于 DAO。
我还需要使用 DAO——不能用 ADO 压缩 MDB。

我知道:
1)如果数据库后端不是Access MDB,我应该使用ADO。
2) 如果后端是 MDB,但我想在某个时候升级到 SQL Server,我应该使用 ADO。
3) 在 Access 应用程序或任何其他 VBA/VB 应用程序中,我应该使用 DAO,因为 ADO 必须经过 Jet OLE DB Provider 的转换层,而 DAO 更直接。
4) VBScript/JScript 允许我使用DAO 或ADO。

分两部分的问题如下:
1)在这个软件环境(HTA/脚本)中,使用ADO比使用DAO更好吗?
2) ADO 是否提供任何好处,因为 HTA 通过无线网络进行读/写?

0 投票
1 回答
707 浏览

asp-classic - 使用 adodb 检索时间戳字段的值 - 如何从经典 asp 中读取字节数组

我正在使用 asp 和 adodb,查询数据库(ms sql 2005)

我有一个名为 stamp 的字段,类型为 timestamp

在asp我得到以下

field.ActualSize: 8 field.DefinedSize: field.Name: Stamp field.Type: adBinary (128)

field.Attributes: 528 (adFldFixed (16) + adFldRowVersion (512) ) (所以 adFldLong 没有打开,所以我不能使用 getchunk 方法!) http://msdn.microsoft.com/en-us/library/ ms676678(VS.85).aspx

在调试器中,如果我输入 field.value 我会得到以下信息

这就是我想要得到的!!!!但我不知道该怎么做...

我可以将它分配给一个变量,但我无法获取每个元素

我试过了

(参数数量错误)

所以,问题是我有一个字节数组,好吧,我怎么读它???

0 投票
3 回答
746 浏览

oracle - 多个 Oracle 客户端

如果我在给定工作站上安装了多个 Oracle 客户端(即 Oracle 9 和 Oracle 10),我如何指定 ADO 使用哪一个?有没有办法在两个客户端之间进行交换?

我目前使用的是 Oracle 提供 - oraoledb,而不是 Microsoft 提供者。

0 投票
4 回答
4331 浏览

sql - SQL 超时错误

我们在 W2003 Web 服务器上运行的大约 30 个站点中只有 1 个出现问题。

可能在一天中大约 25% 的时间里,网站不断返回: SQL Timeout Errors on various connections to SQL (using ODBC)

我已经检查并将 ODBC 驱动程序更新到我能找到的最新版本(3.5.x?),并且我还在检查 SQL 服务器以查看是否有问题(通过 Gb LAN 连接的同一网络上运行的另一台服务器)

IIS 日志文件返回“[Microsoft][ODBC_SQL_Server_Driver]Timeout_expired”

我今天早上遇到了这个问题,所以尝试重新启动 SQL 服务器以查看它是否是与负载相关的问题或其他问题 - 但该站点在重新启动后大约 20 分钟内继续生成这些错误(即使我们所有其他站点都在工作)此时) - 然后它停止超时,现在又开始工作了。

我试图为网站延长 SQL 连接的超时时间,看看这是否改变了一些东西,但它似乎没有做任何事情。

这个站点已经连续运行了大约 3 年,没有出现任何问题,而且我们已经有一段时间没有更改服务器上的任何内容了 - 这开始发生在圣诞节前后,但从那以后变得越来越规律。

我已经检查了所有代码以确保数据库连接正确打开/关闭(站点是经典的 ASP),并确保它没有打开太多并发连接 - 但一切都无济于事,我开始用完想法....有人吗?

我唯一的想法是更改为 OLEDB 连接而不是 ODBC - 但在此之前,我想检查是否有其他我错过的东西可以先尝试。

提前致谢!

卡尔。

0 投票
3 回答
21339 浏览

sql - 如何使用 VBScript(或 VB6)从字节/整数数组中插入原始/二进制字段值?

有谁知道如何使用 SQL 将几个字节传递给二进制(或 varbinary)字段,最好是在 ADO(经典)和 VBScript(或 Visual Basic 6)中?

我希望编码 10-20(也许更多)字节的数据并将这些数据存储在 SQL db 字段中。(它不是 MS-SQLSVR,但我希望标准 SQL 支持的格式可以工作!)

这些字节可以作为通过 AscB/ChrB 获得的字节字符串,或者是“字节”数组(实际上是通过“cbyte”获得的字节类型的变体)并存储在数组中。

第一个选项:使用字符串格式 ,我在创建 SQL 插入时取得了一些(有限)成功:

但我担心字符串空值会截断字段中的数据,并且其他非打印控制字符会妨碍处理数据。有没有办法避免这种情况?

第二个选项:字节数组 我可以很容易地将数据放入数组中,但看不到如何传递给 SQL 插入语句。如果我尝试传入 12 个字节,则由于 CAST 尝试将数据存储到整数(4 字节)中,因此插入失败。如果我传入一个字节,它就可以工作,例如:

并继续工作 4 个字节,但在 Integer 溢出时失败。此外,它对数据进行重新排序

我尝试使用各种解决方法:

我也尝试过类似的组合:

但这些都失败了!

理想情况下,我想要一个方法,任何方法,它需要一个最多 20 个字节的小型二进制数组(理想情况下是完整的字节范围 0-255,但可能需要更少)并将它们传递给一个普通的、原始的、二进制 SQL 字段。

理想情况下,我需要在 VBScript/ADO 中执行此操作,但如果可用,可以采用基于 VB6 的解决方案。我希望这是“原始”二进制文件,我不想使用 ascii 编码,比如 Base64。

我已经用谷歌搜索了,直到我麻木了,并且没有发现太多与 SQL 中的二进制字段相关的东西。

你能帮我吗?任何答案表示赞赏。很多谢谢。

0 投票
4 回答
12663 浏览

ms-access - 检测 Microsoft Access 数据库表的最后更改时间

有谁知道一种方法来检测 Microsoft Access 表上次更改(插入或更新)的时间?我们通过 ADO COM 使用 OLEDB 以编程方式与访问数据库进行通信,并正在寻找一种检测特定表更改的方法。我们不需要知道这些变化是什么,只需要知道这些变化已经发生了。

0 投票
2 回答
2499 浏览

delphi - MS Word Ole 自动化、ADO 和外来字符

我正在尝试将 WideString 文本从数据库(ADO / MS Access)导出到 MS Word 文档(Delphi 7),但未正确传输外来字符(即“ è ”而不是“ č ”):

我也尝试过CreateOleObject()直接使用,但没有区别。

我错过了什么?

谢谢!

0 投票
6 回答
3433 浏览

sql - 在经典 ASP 中,打开和关闭多个连接是否会对性能产生重大影响?

我有一个类似于下面的代码片段,我想将其重构为两个不同的函数,每个函数都有自己的连接(为了更好的维护):

是否有两个函数(例如 GetClients 和 GetDealers)分别打开和关闭自己的连接会对性能造成重大影响,相反只打开和关闭单个连接,如上图所示?如果是这样,您将如何重构代码?

0 投票
2 回答
754 浏览

vb6 - ADO 使用 SQL Native Client 显示“隐藏列”

我正在使用 VB6 和 Classic ASP 开发一个遗留应用程序。我们使用断开连接的 ADO 记录集来回传递数据。通常这是有效的。但是最近开始发生的是对于任何内部/外部联接,ADO 将这些包括在可用记录中以供选择。因此,当指定要更新的列(在出现错误的情况下,主键列)时,它会依次更新错误的列(具有相同的名称)。我知道 ADO 拉取任何连接表的主键是正常的,但默认情况下 ADO 会隐藏它们。在我们的例子中,ADO 没有隐藏它们。

我将其缩小到 SQL Native Client 驱动程序无法正常工作。我可以回到 SQL Server 驱动程序 (SQL 2000),它运行良好,但是一旦我切换回 SQL Native Client,它就会出现上述行为。我检查了打开连接上的属性和记录集本身的属性,它们在每个实例中都匹配,除了一个(有多少隐藏列的计数是有道理的,因为 SQL Native 没有隐藏它们)。

我已经尝试了从 IIS 中删除 MSADC 文件夹并重新添加它的所有方法,我已经卸载了 SQL Native 并重新安装了它(随后将其升级到了最新版本)。在对它进行故障排除的过程中,我也多次重新创建了 ODBC 连接。在这一点上,我不知所措。

还有一件事要补充的是,SQL Native Client 似乎在我们的其他服务器上工作正常,没有其他人遇到这个问题。任何人都可能知道会发生什么?谢谢!

编辑:正在发生的事情的例子(这发生在任何查询(存储过程,如果它重要)和> = 1任何类型的连接)

在 temp_test 上选择 temp_id, temp_value 在 another_table.temp_id 上连接 another_table = temp_test.temp_id 在 yet_another_table.another_id 上连接 yet_another_table = another_table.another_id

这将在 ado 记录集中产生:

SQL 本机客户端

(0) temp_id

(1) temp_value

(2) temp_id(another_table的主键)

(3) another_id(又一个表的主键)

SQL Server 驱动程序

(0) temp_id

(1) temp_value

SQL Server 2005 将按原样显示它: temp_id, temp_value

0 投票
1 回答
161 浏览

.net - 如何将数据集/数据表从 Tomcat 中继到 .NET 应用程序?

我需要从 Tomcat 中托管的 servlet 向 .NET 应用程序中的 DataTable 提供数据。将 XML 流回 .NET 应用程序可以使用 DataTable.ReadXML 填充似乎很诱人。那是正确的下坡路吗?而且不是最不重要的;是否有现有的 Java 组件可以在 Tomcat 方面帮助我解决这个问题?

编辑。.NET 应用程序是 GUI 应用程序,而不是 Web 应用程序/服务。