在 SQL Server 中,我可以像这样创建一个列别名:
select id as NewID from sometable
如何在 U2 提供程序中完成此操作?
我试过了:
select id NewID --returns Column0
select id as NewID --returns Column0
select id "NewID" --returns Column0
select id 'NewID' --returns Column0
编辑:
看起来 Unidata 处理 ODBC 和 U2 连接的方式不同。这是一个回购:
using System;
using System.Data.Odbc;
using U2.Data.Client;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
var csU2 = "Database=XXX;User ID=XXX;Password=XXX;Server=XXX;ServerType=UNIDATA;RpcServiceType=udserver;FirstNormalForm=True";
var csOdbc = "DSN=XXX";
var sql = "select ID, ID as NewID from SYS_INSTALL_HISTORY_NF where 1=0";
Console.WriteLine("U2Command:");
using (var cnn = new U2Connection(csU2))
using (var cmd = cnn.CreateCommand())
{
cmd.CommandText = sql;
cnn.Open();
var reader = cmd.ExecuteReader();
for (int i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine(reader.GetName(i));
}
}
Console.WriteLine();
Console.WriteLine("OdbcCommand:");
using (var cnn = new OdbcConnection(csOdbc))
using (var cmd = cnn.CreateCommand())
{
cmd.CommandText = sql;
cnn.Open();
var reader = cmd.ExecuteReader();
for (int i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine(reader.GetName(i));
}
}
}
}
}
结果:
U2 命令:
ID
列 1
OdbcCommand:
ID
NewID
u2 odbc 驱动程序版本:7.140.01.8004 u2 .net 提供程序版本:2.2.0.0