为什么MSSQL2005运行导入导出向导时,连数据源会报“无法检索表列表”

时间:2022-12-14 13:22:05
连接的数据库能正常登录、打开表,甚至建立ODBC设置默认数据库等等,但一到导入导出向导来连接,就会报这个错误?
当中的47是用SQL Native Client的时候出现的数。我换用 Microsoft  OLE DB Provider for SQL Server这个数就会变成48其他都不变。。


详细信息如下:
===================================

无法检索表列表。 (SQL Server 导入和导出向导)

===================================

从索引 47 处开始,初始化字符串的格式不符合规范。 (System.Data)

------------------------------
程序位置:

   在 System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue)
   在 System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
   在 System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
   在 System.Data.OleDb.OleDbConnectionString..ctor(String connectionString, Boolean validate)
   在 System.Data.OleDb.OleDbConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
   在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
   在 System.Data.OleDb.OleDbConnection.ConnectionString_Set(String value)
   在 System.Data.OleDb.OleDbConnection.set_ConnectionString(String value)
   在 System.Data.OleDb.OleDbConnection..ctor(String connectionString)
   在 Microsoft.SqlServer.Dts.DtsWizard.SQLServerForm.LoadDatabasesList()

12 个解决方案

#1


估计还是安装的问题 你修复一下数据库试试。

#2


顺带一提我都是用的SA登录的,权限不会不够吧。

#3


可能你的系统需要修复一下。

#4


另外,有一次我把master数据库的spt_values表里的数据给删除了,在使用的时候,就报这种错误。

后来,我把数据插入到这个表中,就好了。

所以,最好把整个系统修复一下再试试。

#5


引用 1 楼 fredrickhu 的回复:
估计还是安装的问题 你修复一下数据库试试。

您指的是安装的MSSQL2005的问题吗?

我随手新建了一个数据库,也还是不行,感觉是总体上的不行,不是某个具体数据库的问题。
这个MSSQL是刚全新安装的,打了SP4补丁。全新安装都不行咋修复啊。

#6


引用 5 楼 DelisPhi 的回复:
Quote: 引用 1 楼 fredrickhu 的回复:

估计还是安装的问题 你修复一下数据库试试。

您指的是安装的MSSQL2005的问题吗?

我随手新建了一个数据库,也还是不行,感觉是总体上的不行,不是某个具体数据库的问题。
这个MSSQL是刚全新安装的,打了SP4补丁。全新安装都不行咋修复啊。

SSIS部分的问题。重新换安装包试试呢。

#7


引用 6 楼 fredrickhu 的回复:
Quote: 引用 5 楼 DelisPhi 的回复:

Quote: 引用 1 楼 fredrickhu 的回复:

估计还是安装的问题 你修复一下数据库试试。

您指的是安装的MSSQL2005的问题吗?

我随手新建了一个数据库,也还是不行,感觉是总体上的不行,不是某个具体数据库的问题。
这个MSSQL是刚全新安装的,打了SP4补丁。全新安装都不行咋修复啊。

SSIS部分的问题。重新换安装包试试呢。

推荐个地址啥的吧,对您来讲应该是小菜一碟吧。
我拿的网上找的最原版的ISO(没SP的那种),以及SP4补丁包文件来装的,我想不出其他更靠谱的安装方法。
另外我试过两个系统下,一个是Win2004+x86,和Win2008R2+x64,均会出现这个问题,只是那个40几的数字会略有改变。

#8


最后我用的Management Studio是那两台服务器里的,在外面一台客户机上也装了,都一样。

#9


最新消息:拿Navicat for SqlServer 来导出完全正常(用它自带的一个2008的Native Client ODBC驱动),但在导入导出向导使用这个ODBC驱动,表是列出来了但是按下一步又来一个错误:
===================================

===================================

项“integrated security”的值无效。 (System.Data)

------------------------------
程序位置:

   在 System.Data.Common.DbConnectionOptions.ConvertValueToIntegratedSecurityInternal(String stringValue)
   在 System.Data.Common.DbConnectionOptions.ConvertValueToIntegratedSecurity()
   在 System.Data.Common.DbConnectionOptions.get_HasBlankPassword()
   在 System.Data.Common.DBDataPermission..ctor(DbConnectionOptions connectionOptions)
   在 System.Data.OleDb.OleDbPermission..ctor(OleDbConnectionString constr)
   在 System.Data.OleDb.OleDbConnectionString.CreatePermissionSet()
   在 System.Data.Common.DbConnectionOptions.DemandPermission()
   在 System.Data.OleDb.OleDbConnection.PermissionDemand()
   在 System.Data.OleDb.OleDbConnectionFactory.PermissionDemand(DbConnection outerConnection)
   在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   在 System.Data.OleDb.OleDbConnection.Open()
   在 Microsoft.SqlServer.Dts.DtsWizard.DTSWizard.GetOpenedConnection(WizardInputs wizardInputs, String connEntryName)
   在 Microsoft.SqlServer.Dts.DtsWizard.Step1.OnLeavePage(LeavePageEventArgs e)

#10


应该是BUG。

#11


囧啊。。之前不知道三联是什么意思。。不小心。。。三连了。。。多谢打断。。

这个问题已经解决了。。MSSQL不知怎么的对sa有限制?我随便新建一个普通用户就连上了。。再分配dbwriter、dbreader之后,一切OK了。。。晕倒,结贴了

#12


重新安装试试看,我觉得是安装包出了问题。不过我用finereport链接sql数据库的时候倒是没发生过这种问题。

#1


估计还是安装的问题 你修复一下数据库试试。

#2


顺带一提我都是用的SA登录的,权限不会不够吧。

#3


可能你的系统需要修复一下。

#4


另外,有一次我把master数据库的spt_values表里的数据给删除了,在使用的时候,就报这种错误。

后来,我把数据插入到这个表中,就好了。

所以,最好把整个系统修复一下再试试。

#5


引用 1 楼 fredrickhu 的回复:
估计还是安装的问题 你修复一下数据库试试。

您指的是安装的MSSQL2005的问题吗?

我随手新建了一个数据库,也还是不行,感觉是总体上的不行,不是某个具体数据库的问题。
这个MSSQL是刚全新安装的,打了SP4补丁。全新安装都不行咋修复啊。

#6


引用 5 楼 DelisPhi 的回复:
Quote: 引用 1 楼 fredrickhu 的回复:

估计还是安装的问题 你修复一下数据库试试。

您指的是安装的MSSQL2005的问题吗?

我随手新建了一个数据库,也还是不行,感觉是总体上的不行,不是某个具体数据库的问题。
这个MSSQL是刚全新安装的,打了SP4补丁。全新安装都不行咋修复啊。

SSIS部分的问题。重新换安装包试试呢。

#7


引用 6 楼 fredrickhu 的回复:
Quote: 引用 5 楼 DelisPhi 的回复:

Quote: 引用 1 楼 fredrickhu 的回复:

估计还是安装的问题 你修复一下数据库试试。

您指的是安装的MSSQL2005的问题吗?

我随手新建了一个数据库,也还是不行,感觉是总体上的不行,不是某个具体数据库的问题。
这个MSSQL是刚全新安装的,打了SP4补丁。全新安装都不行咋修复啊。

SSIS部分的问题。重新换安装包试试呢。

推荐个地址啥的吧,对您来讲应该是小菜一碟吧。
我拿的网上找的最原版的ISO(没SP的那种),以及SP4补丁包文件来装的,我想不出其他更靠谱的安装方法。
另外我试过两个系统下,一个是Win2004+x86,和Win2008R2+x64,均会出现这个问题,只是那个40几的数字会略有改变。

#8


最后我用的Management Studio是那两台服务器里的,在外面一台客户机上也装了,都一样。

#9


最新消息:拿Navicat for SqlServer 来导出完全正常(用它自带的一个2008的Native Client ODBC驱动),但在导入导出向导使用这个ODBC驱动,表是列出来了但是按下一步又来一个错误:
===================================

===================================

项“integrated security”的值无效。 (System.Data)

------------------------------
程序位置:

   在 System.Data.Common.DbConnectionOptions.ConvertValueToIntegratedSecurityInternal(String stringValue)
   在 System.Data.Common.DbConnectionOptions.ConvertValueToIntegratedSecurity()
   在 System.Data.Common.DbConnectionOptions.get_HasBlankPassword()
   在 System.Data.Common.DBDataPermission..ctor(DbConnectionOptions connectionOptions)
   在 System.Data.OleDb.OleDbPermission..ctor(OleDbConnectionString constr)
   在 System.Data.OleDb.OleDbConnectionString.CreatePermissionSet()
   在 System.Data.Common.DbConnectionOptions.DemandPermission()
   在 System.Data.OleDb.OleDbConnection.PermissionDemand()
   在 System.Data.OleDb.OleDbConnectionFactory.PermissionDemand(DbConnection outerConnection)
   在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   在 System.Data.OleDb.OleDbConnection.Open()
   在 Microsoft.SqlServer.Dts.DtsWizard.DTSWizard.GetOpenedConnection(WizardInputs wizardInputs, String connEntryName)
   在 Microsoft.SqlServer.Dts.DtsWizard.Step1.OnLeavePage(LeavePageEventArgs e)

#10


应该是BUG。

#11


囧啊。。之前不知道三联是什么意思。。不小心。。。三连了。。。多谢打断。。

这个问题已经解决了。。MSSQL不知怎么的对sa有限制?我随便新建一个普通用户就连上了。。再分配dbwriter、dbreader之后,一切OK了。。。晕倒,结贴了

#12


重新安装试试看,我觉得是安装包出了问题。不过我用finereport链接sql数据库的时候倒是没发生过这种问题。