我尝试通过.net数据提供程序连接到优势数据库服务器,但我无法浏览表,视图和存储过程(VS2010)。
虽然我看不到表格,但我可以通过新查询查询并手动编写选择
似乎很简单但没有解决方案
连接字符串:数据源= TestAuth;用户ID = adssys 提供商:Advantage Database Server的.NET Framework数据提供程序 状态:打开 键入: Advantage数据库服务器 版本: 11.0.0.1
尝试了2个不同的数据库服务器但我无法检索表
类似的问题通过Eclipse上的jdbc连接
有什么想法吗?
提前谢谢你!
阿里斯
答案 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