Advantage Database Server .net提供程序表未显示

时间:2012-12-16 16:55:25

标签: .net eclipse jdbc advantage-database-server

我尝试通过.net数据提供程序连接到优势数据库服务器,但我无法浏览表,视图和存储过程(VS2010)。

虽然我看不到表格,但我可以通过新查询查询并手动编写选择

似乎很简单但没有解决方案

连接字符串:数据源= TestAuth;用户ID = adssys 提供商:Advantage Database Server的.NET Framework数据提供程序 状态:打开 键入: Advantage数据库服务器 版本: 11.0.0.1

尝试了2个不同的数据库服务器但我无法检索表

类似的问题通过Eclipse上的jdbc连接

有什么想法吗?

提前谢谢你!

阿里斯

2 个答案:

答案 0 :(得分:2)

使用Visual Studio 2010获取表列表有多种方法。最简单的方法是使用服务器资源管理器并创建与Advantage数据字典的数据连接。连接打开后,您可以在服务器资源管理器中查看表,视图和存储过程列表。

如果您想在代码中获取表格列表,可以使用AdsConnection对象的GetTableNames()GetDDObjects()方法。 GetTableNames返回表和视图名称的数组。 GetDDObjects返回指定对象类型的数组。

更通用的方法是使用system.tables。您可以使用SQL语句打开此表,它将返回有关数据库中所有表的信息。请参阅下面的示例。

SELECT * FROM system.tables

GetDDObjects和system.tables仅在连接到数据字典时可用。 GetTables将在字典或空闲表连接上返回列表表。

答案 1 :(得分:1)

感谢您的反馈Chris,

发现问题,连接设置错误。

查询 SELECT * FROM system.tables 会抛出错误5125“Advantage没有与指定句柄相关联的数据字典.AdvertisingCommand查询执行失败”。所以这解释了什么是错的,我使用别名而不是数据字典

正确填充服务器资源管理器中的表

连接字符串:用户ID = adssys;初始目录=“C:\ Program Files \ Advantage 11.0 \ Help \ ADS_DATA \ IW.add”; 用户ID = adssys提供商:Advantage数据库服务器的.NET Framework数据提供程序状态:打开 键入: Advantage数据库服务器版本:11.0.0.1