标签: oledb

链接的SQL Server数据库给出"不一致的元数据"错误

我目前正在运行第三方软件套件,它使用SQL Server作为其数据库.我有一个在不同位置运行的第二个SQL Server实例,我在该实例中构建的一些应用程序SQL Server需要访问第三方软件中的某些数据.因此,我在框之间创建了一个ODBC连接,并在我的SQL Server版本上将第三方SQL服务器设置为链接服务器.作为测试,我从我的SQL服务器运行以下语句,访问第三方表之一:

SELECT * FROM LinkedServerName.SchemaName.dbo.TableName
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

OLE DB error trace [Non-interface error:  Column 'TableRowVersion' (compile-time
ordinal 4) of object '"SchemaName"."dbo"."TableName"' was reported to have a
DBCOLUMNFLAGS_ISROWVER of 0 at compile time and 512 at run time].

Msg 7356, Level 16, State 1, Line 1

OLE DB provider 'MSDASQL' supplied inconsistent metadata for a column. Metadata
information was changed at execution time.
Run Code Online (Sandbox Code Playgroud)

对于我尝试访问的任何其他表,此错误都是相同的.这个错误意味着什么,是否有办法绕过它?

sql-server oledb odbc linked-server

15
推荐指数
3
解决办法
4万
查看次数

如何检查系统上是否安装了OLEDB驱动程序?

在启动应用程序时,如何确保安装某个OLEDB驱动程序?我使用Delphi的ADO,如果缺少驱动程序,则希望显示描述性错误消息.从ADO返回的错误并不总是那么用户友好.

可能有一个很好的小函数返回所有已安装的驱动程序,但我还没有找到它.

delphi oledb ado

14
推荐指数
2
解决办法
4万
查看次数

在64位模式下不支持OleDB?

我一直在使用Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0来读取.csv,.xls和.xlsx文件.

我刚刚发现原生64位模式都不支持这些技术!

我有两个问题:

  1. 在64位模式下以编程方式读取.csv,.xls和.xlsx文件的支持方式是什么.我无法在任何地方找到答案.

  2. 如果我无法读取所有三种文件类型,那么在64位环境中读取.csv文件的最佳方法是什么?

笔记:

  • 我正在使用.NET(3.5p1)
  • 这是一个收缩包装应用程序; 再分配是一个关键因素.

更新:

我可以使用CorFlags强制应用程序以32位模式运行,这是有效的,但是不可取.

.net c# csv oledb 64-bit

14
推荐指数
1
解决办法
2万
查看次数

OLED单元格值被OLEDB提供程序截断

我正在使用OleDbConnection类从Excel 2000/2003工作簿中检索数据:

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                          "Data Source=" + filename + ";" +
                          "Extended Properties=\"Excel 8.0;IMEX=1\";";

OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();

// code to get table name from schema omitted

var dataAdapter = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", name),connection);
var myDataSet = new DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
Run Code Online (Sandbox Code Playgroud)

现在结果表明,工作表中长度大于255个字符的单元格正在被截断.这是Microsoft.Jet.OLEDB提供程序中的限制,还是我可以做些什么呢?

任何人?

.net oledb excel oledbconnection

14
推荐指数
1
解决办法
2万
查看次数

资源池"内部"中的系统内存不足

SQL Server 2008链接服务器和临时INSERT导致快速内存泄漏,最终导致服务器无响应,并以以下错误结束:

Msg 701, Level 17, State 123, Server BRECK-PC\SQLEXPRESS, Line 2
There is insufficient system memory in resource pool 'internal' to run this 
query.

Location:        qxcntxt.cpp:1052
Expression:      cref == 0
SPID:            51
Process ID:      1880
Run Code Online (Sandbox Code Playgroud)

在重新启动SQL Server之前,服务器仍然没有响应.

使用的软件:

  • Windows Vista Ultimate 64位构建6001 SP1

  • Microsoft SQL Server 2008(SP1) - 10.0.2734.0(X64)2009年9月11日14:30:58版权所有(c)1988-2008 Microsoft Corporation在Windows NT 6.0上具有高级服务(64位)的Express Edition(Build 6001:Service包1)

  • SQL Anywhere 11.0.1.2276中的SAOLEDB.11驱动程序

将最大服务器内存(MB)设置为2048没有帮助.

将各种-g值(例如,-g256;)添加到服务器启动参数没有帮助.

使用DBCC FREESYSTEMCACHE('ALL'),DBCC FREESESSIONCACHE和DBCC FREEPROCCACHE没有帮助.

将Cumnulative更新包4安装到SQL Server 2008 Service Pack 1没有帮助,即使它包含对涉及链接服务器使用的内存泄漏症状的修复.

从INSERT中分离SELECT ... ROW_NUMBER()OVER ...查询没有帮助.实验表明复杂的SELECT没有引起内存泄漏,INSERT就是这样.

更改代码以使用ad-hoc"INSERT INTO OPENROWSET"语法而不是链接服务器没有帮助; 下面的代码显示了链接的服务器用法. …

oledb memory-leaks linked-server sql-server-2008

14
推荐指数
1
解决办法
4万
查看次数

VBScript和Access MDB - 800A0E7A - "无法找到提供程序.可能未正确安装"

我在连接到访问MDB数据库的VBScript时遇到问题.我的平台是Vista64,但其中大部分资源都用于ASP/IIS7.

很简单,我无法连接它.我收到以下错误:800A0E7A - "无法找到提供程序.可能未正确安装"

我的代码是:

Set conn = CreateObject("ADODB.Connection")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.MDB"
conn.Open strConnect
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经运行了%WINDIR%\ System32\odbcad32.exe来尝试在32位模式下配置驱动程序,但它还没有完成.任何建议将不胜感激

作为一个补充,我试图让这个.vbs脚本通过双击运行,并让它做它的事情.此代码未嵌入到另一个lang /脚本中.

oledb vbscript ms-access adodb

14
推荐指数
2
解决办法
8万
查看次数

如何使用C#连接到MS Access文件(mdb)?

我正在尝试连接到mdb文件,我知道我需要Microsoft.OLEDB.JET.4.0数据提供程序.不幸的是,我没有在(大学)机器上安装它.既然,他们没有提供那个提供者,我相信应该有办法解决.

如何在没有Microsoft.OLEDB.JET.4.0或没有替代方案的情况下连接到文件?

我有以下提供者:

可用的Ole DB提供商

我尝试过使用OLE DB Provider for Microsoft Directory Services,在测试连接的同时,我得到"测试成功,但提供商不接受某些设置".我拿了那根绳子然后用它而且我得到了ADsDSOObject' failed with no error message available, result code: DB_E_ERRORSINCOMMAND(0x80040E14).

c# oledb ms-access

14
推荐指数
2
解决办法
9万
查看次数

如何在Excel中通过oledb reader或excel库,excel datareader或NPOI等检查Cell是否包含公式(Interop除外)?

如何通过oledb阅读器在Excel中检查单元格是否包含公式?

在此输入图像描述

System.Data.OleDb.OleDbConnection conn2 = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source = " + strFileName + "; Extended Properties = \"Excel 8.0;HDR=NO;IMEX=1\";");
conn2.Open();
string strQuery2 = "SELECT * FROM [" + Table + "]";

System.Data.OleDb.OleDbDataAdapter adapter2 = new System.Data.OleDb.OleDbDataAdapter(strQuery2, conn2);

System.Data.DataTable DT2 = new System.Data.DataTable();

adapter2.Fill(DT2);
Run Code Online (Sandbox Code Playgroud)

c# asp.net oledb excel winforms

14
推荐指数
2
解决办法
4409
查看次数

使用SSIS包到Access DB的SQL Agent作业失败

我有一个运行脚本任务的SSIS包(主要是和其他一些东西).脚本任务使用OleDB连接连接到Access数据库.这是Microsoft Jet 4.0连接.我安装了驱动程序.但它不会通过代理帐户在SQL Agent中运行.它可以直接从Visual Studio和包存储中运行.事实上,当我以代理所附带的特殊帐户登录时,它在这两个地方都运行良好.但是,当我通过SQL Server代理运行时,我得到了可怕的"未指定错误"OleDbException.

脚本任务的相关代码:

// class field
private string accessConnectionStringTemplate = "Data Source=\"{0}\";Provider=Microsoft.Jet.OLEDB.4.0;";

// in method that connects to database
Print(file, "Connection string: " + string.Format(accessConnectionStringTemplate, file.FileName));
// outputs: Data Source = "\Path\To\File";Provider=Microsoft.Jet.OLEDB.4.0"
using(access = new OleDbConnection(string.Format(accessConnectionStringTemplate, file.FileName))) {
     access.Open();
     // other code
}
Run Code Online (Sandbox Code Playgroud)

通过SQL代理作业历史记录的错误消息:

Started:  12:35:10 PM
Error: 2016-11-03 12:35:33.51
   Code: 0x00000000
   Source: Import Files Main
   Description: Exception: Unspecified error
End Error
Error: 2016-11-03 12:35:33.51
   Code: 0x00000000
   Source: Import Files Main
   Description:    at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection …
Run Code Online (Sandbox Code Playgroud)

sql-server oledb ssis sql-agent

14
推荐指数
1
解决办法
1014
查看次数

如何从Proficy Historian查询原始数据?

如何从Proficy Historian/iHistorian检索原始时间序列数据?

理想情况下,我会要求两个日期之间的特定标签的数据.

c# oledb proficy historian

13
推荐指数
1
解决办法
2万
查看次数