如何在 AS400 中使用 GetSchema 获取视图的 SQL
How to get the SQL of a View using GetSchema in AS400
我正在尝试使用 GetSchema
获取 SQL,但未检索到 View_Definition
列。
这是我检索视图信息的函数:
internal DataTable GetViewDefinition(AS400Library library, string viewName)
{
var connection = ODBC.Instance.GetConnection(library);
try
{
connection.Open();
return connection.GetSchema("Views", new string[] { library.ToString(), null, viewName });
}
finally
{
connection.Close();
}
}
GetViewDefinition
返回以下列而不是 view_definition
:
- TABLE_CAT
- TABLE_SCHEM
- TABLE_NAME
- TABLE_TYPE
- 备注
如何获取 SQL 本身?
ODBC 和 ADO.NET 是通用接口,它们仅支持 "least common denominator" 功能,不了解特定于实现的细节。
您可以在 System i catalog views、QSYS2.VIEWS
或 INFORMATION_SCHEMA.VIEWS
中找到视图定义。检查您的版本手册,因为名称可能不同;我相信 INFORMATION_SCHEMA
仅在 6.1 之后才受支持。
我正在尝试使用 GetSchema
获取 SQL,但未检索到 View_Definition
列。
这是我检索视图信息的函数:
internal DataTable GetViewDefinition(AS400Library library, string viewName)
{
var connection = ODBC.Instance.GetConnection(library);
try
{
connection.Open();
return connection.GetSchema("Views", new string[] { library.ToString(), null, viewName });
}
finally
{
connection.Close();
}
}
GetViewDefinition
返回以下列而不是 view_definition
:
- TABLE_CAT
- TABLE_SCHEM
- TABLE_NAME
- TABLE_TYPE
- 备注
如何获取 SQL 本身?
ODBC 和 ADO.NET 是通用接口,它们仅支持 "least common denominator" 功能,不了解特定于实现的细节。
您可以在 System i catalog views、QSYS2.VIEWS
或 INFORMATION_SCHEMA.VIEWS
中找到视图定义。检查您的版本手册,因为名称可能不同;我相信 INFORMATION_SCHEMA
仅在 6.1 之后才受支持。