标签: oledb

使用C#访问Excel电子表格偶尔会返回某些单元格的空白值

我需要访问Excel电子表格并将电子表格中的数据插入SQL数据库.但是主键是混合的,大多数是数字的,有些是字母数字.

我遇到的问题是,当数字和字母数字键在同一个电子表格中时,字母数字单元格返回空白值,而所有其他单元格返回其数据没有问题.

我正在使用OleDb方法来访问Excel文件.使用Command字符串检索数据后,我将数据放入DataAdapter,然后填充DataSet.我遍历DataSet中第一个DataTable中的所有行(dr).

我使用dr ["..."]引用列.ToString()

如果我在Visual Studio 2008中调试项目并查看"扩展属性",将鼠标悬停在"dr"上我可以查看DataRow的值,但应该是字母数字的主键是{}.其他值用引号括起来,但空白值有大括号.

这是C#问题还是Excel问题?

有没有人曾经遇到过这个问题,或者可能找到了解决方法/修复方法?

提前致谢.

c# oledb excel visual-studio-2008

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

Microsoft Jet数据库引擎找不到对象'Sheet1 $'

我正在尝试阅读一个名为的电子表格文件Book1.xls,其中包含一个名为的工作表Sheet1

但是我收到以下错误:

Microsoft Jet数据库引擎找不到对象'Sheet1 $'.确保对象存在,并正确拼写其名称和路径名称.

这是我正在使用的代码片段:

Dim dt As DataTable = New DataTable()
Select Case fileExt
    Case ".csv"
        Dim reader As New CsvReader
        dt = reader.GetDataTable(filePath)
    Case ".xls", ".xlsx"

        Dim oleDbConnStr As String
        Select Case fileExt
            Case ".xls"
                oleDbConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2"""
            Case ".xlsx"
                oleDbConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filePath & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""
        End Select



        Using oleDbConn As OleDbConnection = New OleDbConnection(oleDbConnStr)
            oleDbConn.Open()

            Dim oleDbCmd As New OleDbCommand("SELECT * FROM …
Run Code Online (Sandbox Code Playgroud)

asp.net oledb xls

11
推荐指数
2
解决办法
5万
查看次数

如何解决DTS_E_OLEDBERROR.在ssis

在一个ssis包中包含数据流任务,包含OLEDB源和OLDB Target ..provider是sql native client ..这个用来运行正常..但是现在出现了如下所示的错误..

请告诉我如何解决它?将其更改为ado.net?

操作系统:Windows 7专业版,db是sql server 2000

[Axe_Data [737]]错误:SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"通信链接失败".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"TCP提供程序:信号量超时期限已过期.

".

我非常需要帮助解决SSIS的问题.我正在尝试使用SSIS从一个SQL群集导出/导入数据到另一个SQL群集.两者都是SQL 2008 Ent.64位.两者都在Win2k8 Ent上运行.64位.目的地是Win2k8 R2.

我遇到的问题是间歇性但非常频繁.SSIS连接在各个步骤中丢失.有时在第一个任务上失败,有时在最后一个任务上失败...有时它完全完成第一次迭代(在for-each循环中)并且在后续迭代时失败.

该软件包的相同版本在过去针对不同的目标运行而没有失败.以前的目标是在Win2k3 Standard和SQL 2005 Std上运行的单个服务器(非群集).64位.

新的目标服务器完全没有流量.有足够的CPU /内存等.包已经从源服务器或目标服务器执行,具有类似的结果.

以下是简单导入/导出任务的输出:

  • 复制到[dbo].[AGGSLIVE_Bandwidth](错误)消息错误0xc0202009:数据流任务1:SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"通信链接失败".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"TCP提供程序:远程主机强行关闭现有连接." (SQL Server导入和导出向导)

错误0xc0209029:数据流任务1:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR."输入"目标输入"(62)"失败,因为发生错误代码0xC020907B,并且"输入"目标输入"(62)"上的错误行处置指定错误失败.指定组件的指定对象发生错误.在此之前可能会发布错误消息,其中包含有关失败的更多信息.(SQL Server导入和导出向导)

错误0xc0047022:数据流任务1:SSIS错误代码DTS_E_PROCESSINPUTFAILED.组件"Destination - AGGSLIVE_Bandwidth"(49)上的ProcessInput方法在处理输入"Destination Input"(62)时失败,错误代码为0xC0209029.标识的组件从ProcessInput方法返回错误.该错误特定于组件,但错误是致命的,将导致数据流任务停止运行.在此之前可能会发布错误消息,其中包含有关失败的更多信息.(SQL Server导入和导出向导)

错误0xc0209017:数据流任务1:设置缓冲区的行集结束失败,错误代码为0xC0047020.(SQL Server导入和导出向导)

错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED.组件"Source - Query"(1)上的PrimeOutput方法返回错误代码0xC0209017.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.在此之前可能会发布错误消息,其中包含有关失败的更多信息.(SQL Server导入和导出向导)

sql-server oledb ado.net ssis

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

使用OleDb在Dapper中传递查询参数

此查询产生错误No value given for one or more required parameters:

using (var conn = new OleDbConnection("Provider=..."))
{
  conn.Open();
  var result = conn.Query(
    "select code, name from mytable where id = ? order by name",
    new { id = 1 });
}
Run Code Online (Sandbox Code Playgroud)

如果我将查询字符串更改为:... where id = @id ...,我将收到错误:Must declare the scalar variable "@id".

如何构造查询字符串以及如何传递参数?

oledb dapper

11
推荐指数
2
解决办法
7994
查看次数

插入Excel"链接服务器"时SQL Server,"无效的列名称"错误

我有一个简单的Excel电子表格文档(运行Office 2013),我使用"Microsoft Office 15.0 Access数据库引擎OLE DB提供程序"作为数据库.

我可以使用MS SQL Server Management Studio 2012连接到此,我甚至可以从命名范围"Employee"中选择数据.

SELECT *
  FROM [X]...[Employee]
GO
Run Code Online (Sandbox Code Playgroud)

结果:

ID  Name    Description Salary
1   Rob     Cool        1
2   Bob     Awesome     2
3   Robert  DUDE!       3
Run Code Online (Sandbox Code Playgroud)

现在我想在这里插入数据.所以我写道:

INSERT INTO [X]...[Employee]
           ([ID]
           ,[Name]
           ,[Description]
           ,[Salary])
     VALUES
           (4
           ,"John"
           ,"Boss"
           ,500)
Run Code Online (Sandbox Code Playgroud)

这实际上主要由SQL Server Management Studio生成.当我运行这个时,我得到:

Msg 207, Level 16, State 1, Line 8
Invalid column name 'John'.
Msg 207, Level 16, State 1, Line 9
Invalid column name 'Boss'.
Run Code Online (Sandbox Code Playgroud)

知道我做得不好吗?

sql-server oledb excel

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

Microsoft OLE DB Provider for SQL Server是否支持TLS 1.2

我们的客户最近从TLS 1.0升级到TLS 1.2,之后我们的软件无法与SQL服务器连接.它使用OLE DB提供程序连接到SQL Server.以下是从SQL服务器返回的错误 -

[DBNETLIB] [ConnectionOpen SECDoClientHandshake()] SSL安全错误SQL状态:08001 SQL错误号码:18

找不到与Microsoft OLE DB Provider for SQL Server是否支持TLS 1.2相关的任何有用信息.

我发现的其中一个链接似乎表明它不受支持. https://forums.iis.net/t/1233674.aspx?connecing+SQL+server+DB+issue+after+installingTLS1+2+in+SQL+srver+with+classic+asp+application+

因此,想要检查stackoverflow,以防任何人有任何关于此的信息.

sql-server oledb tls1.2

11
推荐指数
2
解决办法
3万
查看次数

通过OLEDB连接到ACCDB格式的MS-ACCESS数据库

我最近提出了另一个关于在C#或VB.NET中使用.NET连接MS-ACCESS数据库的问题.它与MDB一样正常工作,但是使用accdb它会导致异常

conn.Open();
Run Code Online (Sandbox Code Playgroud)

其中包括:

alt text http://dl.dropbox.com/u/3045472/accdb_fail.png

还有另一种方法吗?我的初衷(如原始问题中所述)正在收集一些(实际上,很多)字段.

.net c# vb.net oledb ms-access

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

OleDbParameters和参数名称

我有一个SQL语句,我正在通过OleDb执行,语句是这样的:

INSERT INTO mytable (name, dept) VALUES (@name, @dept);
Run Code Online (Sandbox Code Playgroud)

我正在向OleDbCommand添加参数,如下所示:

OleDbCommand Command = new OleDbCommand();
Command.Connection = Connection;

OleDbParameter Parameter1 = new OleDbParameter();
Parameter1.OleDbType = OleDbType.VarChar;
Parameter1.ParamterName = "@name";
Parameter1.Value = "Bob";

OleDbParameter Parameter2 = new OleDbParameter();
Parameter2.OleDbType = OleDbType.VarChar;
Parameter2.ParamterName = "@dept";
Parameter2.Value = "ADept";

Command.Parameters.Add(Parameter1);
Command.Parameters.Add(Parameter2);
Run Code Online (Sandbox Code Playgroud)

我得到的问题是,如果我添加参数以反过来命令,那么列将填充错误的值(即名称在dept列中,反之亦然)

Command.Parameters.Add(Parameter2);
Command.Parameters.Add(Parameter1);
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果参数值只是按照添加命令的顺序插入到表中,参数名称的重点是什么?参数名称似乎多余?

.net c# oledb oledbparameter oledbcommand

10
推荐指数
2
解决办法
9967
查看次数

烛台多个Y值

我的任务是使用Windows窗体中的MSChart制作烛台图.我已经成功制作了一个没有问题的3D条形图.但经过长时间的互联网搜索,微软的源代码(WinSamples)以及大量的头像,我无法找到创建烛台图的正确方法.

有什么可以帮助我的是一个明确的例子,即在图表中添加一个系列,其中包含多个Y值或我的代码的更正(当我运行时,调试没有显示为图例标签的exept).

奖励将是该示例基于OleDB(我的值在Access数据库中).

所以我的问题是:如果你有在Windows窗体中用C#创建烛台图表的经验,你可以给我一个提示或(甚至更好)你能给我一些c#代码吗?

这是我当前(不工作)的代码:

using System.Windows.Forms.DataVisualization.Charting;
public partial class CandleStick : Form
{
    public CandleStick()
    {
        InitializeComponent();
    }

    private void CandleStick_Load(object sender, EventArgs e)
    {
        GrafiekLaden();
    }

    public void GrafiekLaden()
    {

        Koers k = new Koers();
        // This method fills up a list, the data comes from my database
        // it contains Date, High, Low, Open, Close
        k.meerdereOphalen();

        Series price = new Series();
        chart1.Series.Add(price);

        // Set series chart type
        chart1.Series["price"].ChartType = SeriesChartType.Candlestick;

        // Set the style of the open-close …
Run Code Online (Sandbox Code Playgroud)

c# oledb mschart candlestick-chart

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

无法添加Oracle OLEDB提供程序的性能计数器

在我的服务器上,我使用SqlClient连接到SQL Server,Oledb用于连接Oracle的旧应用程序和ODP.NET用于连接Oracle的新应用程序.

我在perf计数器中看到:

  1. 用于Oracle的.NET数据提供程序
  2. 适用于Sql Server的.NET数据提供程序
  3. ODP.NET管理

但我只能为Sql ServerODP.NET添加和查看.NET Data Provider的计数器.在.NET数据提供程序的Oracle(我的意思是System.Data.Oledb)不能正常工作.

资源:

OleDb提供程序不公开性能计数器.

那是对的吗?

sql-server oracle oledb odp.net performancecounter

10
推荐指数
1
解决办法
464
查看次数