In SQL Server, I can create a column alias like so:
select id as NewID from sometable
How can I accomplish this in the U2 provider?
I've tried:
select id NewID --returns Column0
select id as NewID --returns Column0
select id "NewID" --returns Column0
select id 'NewID' --returns Column0
EDIT:
It looks like Unidata handles ODBC and U2 connections differently. Here is a repo:
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));
}
}
}
}
}
Result:
U2Command:
ID
Column1
OdbcCommand:
ID
NewID
u2 odbc driver version: 7.140.01.8004 u2 .net provider version: 2.2.0.0