我收到错误OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”对于链接服务器返回的消息“未指定的错误”。 [英] I got error OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server returned message "Unspecified error".

查看:105
本文介绍了我收到错误OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”对于链接服务器返回的消息“未指定的错误”。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI,



我收到这样的错误'无法初始化OLE DB提供程序的数据源对象Microsoft.Jet.OLEDB.4.0链接服务器 ClientAc410。

用于链接服务器ClientAc410的OLE DB提供程序Microsoft.Jet.OLEDB.4.0在使用链接服务器从msaccess导入到sql时返回消息未指定错误。 >


过去两周我一直这样做。以前我用的是32位机器而没有使用64位机器。



但是现在我在32位机器上出现了这个错误。我正在服用Nework服务机并在服务器上运行。



这是我的代码





I got error like this 'Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "ClientAc410".
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "ClientAc410" returned message "Unspecified error".' while importing from msaccess to sql using linked server.

I have been doing this for past two weeks.Previously i got in 32 bit mechine and not working on 64 bit mechine.

But Now i got this error on 32 bit mechine. I am taking Nework service mechine and running this on server.

This is my code

try
           {
               cmd = new SqlCommand("SP_Create");
               cmd.CommandType = CommandType.StoredProcedure;
               cmd.Parameters.AddWithValue("@servername", acc);
               cmd.Parameters.AddWithValue("@datasr", path);
               cmd.Parameters.AddWithValue("@table", sourcetable);
               cmd.Parameters.AddWithValue("@table1", desttable);
               cmd.Parameters.AddWithValue("@db", db);
               cmd.CommandTimeout = 180;
               cmd.Connection = cn1;
               connection.Close();
               if (cn1.State != ConnectionState.Open) { cn1.Open(); }
               cmd.ExecuteNonQuery();
               cn1.Close();
           }
           catch (Exception exc)
           {
               connection.Close();
           }





这是我的存储过程







And this is my stored procedure


ALTER proc [dbo].[SP_Create](@servername nvarchar(100),
@datasr nvarchar(MAX),@table nvarchar(100),@table1 nvarchar(100),
@db nvarchar(100)) as begin EXEC sp_addlinkedserver @server     = @servername,
 @provider   = 'Microsoft.Jet.OLEDB.4.0', @srvproduct = 'OLE DB Provider for Jet',
 @datasrc    =  @datasr,@provstr=''exec sp_addlinkedsrvlogin @rmtsrvname=@servername, 
 @useself = N'false',@locallogin = NULL,@rmtuser = N'Admin',@rmtpassword = NULL 
 declare @sql nvarchar(MAX) set @sql= 'select * into '+@table1+' from '+@servername+'...'+@table+'
  with (nolock)'Exec(@sql) declare @sql1 nvarchar(MAX) set @sql1 ='EXEC master.sys.sp_dropserver '
  +@servername+',''droplogins''' exec(@sql1)  end 







请你解决这个错误。我在客户端机器上这样做。




Can u please resolve this error. I am doing this on client mechine.

推荐答案

cmd = new SqlCommand("SP_Create",cn1);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@servername", acc);
            cmd.Parameters.AddWithValue("@datasr", path);
            cmd.Parameters.AddWithValue("@table", sourcetable);
            cmd.Parameters.AddWithValue("@table1", desttable);
            cmd.Parameters.AddWithValue("@db", db);
            cmd.CommandTimeout = 180;
cn1.open()


            cmd.ExecuteNonQuery();
            cn1.Close();


con.Open();

SqlCommand cmd = new SqlCommand(InsertStockTransferChild ,con);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue(@ transferId,TransferId);

cmd.Parameters.AddWithValue(@ frameId,ProductId);

cmd.Parameters.AddWithValue(@ fromBranch,FromBranch);

cmd.Parameters.AddWithValue (@ toBranch,ToBranch);

cmd.Parameters.AddWithValue(@ quantity,Quantity);

返回cmd.ExecuteNonQuery();
con.Open();
SqlCommand cmd = new SqlCommand("InsertStockTransferChild", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@transferId", TransferId);
cmd.Parameters.AddWithValue("@frameId", ProductId);
cmd.Parameters.AddWithValue("@fromBranch", FromBranch);
cmd.Parameters.AddWithValue("@toBranch", ToBranch);
cmd.Parameters.AddWithValue("@quantity", Quantity);
return cmd.ExecuteNonQuery();


这篇关于我收到错误OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”对于链接服务器返回的消息“未指定的错误”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆