Quantcast
Channel: SCN: Message List - SAP Adaptive Server Enterprise (SAP ASE) for Custom Applications
Viewing all articles
Browse latest Browse all 3587

Re: AseBulkCopy.WriteToServer fails when target is a non-nullable UDT

$
0
0

HI Paul,

select @@version gives:

 

Adaptive Server Enterprise/16.0 GA PL01/EBF 22540 SMP/P/X64/Windows Server/ase160sp00pl01/3523/64-bit/FBO/Tue Apr 15 19:04:17 2014

 

 

exec MyDb..sp_oledb_columns @table_qualifier = "MyDb", @table_owner = "dbo", @table_name = "target" gives:

TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_GUID,COLUMN_PROPID,ORDINAL_POSITION,COLUMN_HASDEFAULT,COLUMN_DEFAULT,COLUMN_FLAGS,IS_NULLABLE,DATA_TYPE,TYPE_GUID,CHARACTER_MAXIMUM_LENGTH,CHARACTER_OCTET_LENGTH,NUMERIC_PRECISION,NUMERIC_SCALE,DATETIME_PRECISION,CHARACTER_SET_CATALOG,CHARACTER_SET_SCHEMA,CHARACTER_SET_NAME,COLLATION_CATALOG,COLLATION_SCHEMA,COLLATION_NAME,DOMAIN_CATALOG,DOMAIN_SCHEMA,DOMAIN_NAME,DESCRIPTION

'MyDb','dbo','target','e_type_id',,,1,false,,16,false,131,,,,8,0,,,,,,,,,,,

 

 

On MsSql select @@version gives:

Microsoft SQL Server 2012 - 11.0.2100.60 (X64)

  Feb 10 2012 19:39:15

  Copyright (c) Microsoft Corporation

  Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

 

 

DDL & insert:

 

 

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[T_SEC_EXCHANGE](

  [exchange_id] [int] NOT NULL,

  [exchange_type_id] [numeric](8, 0) NOT NULL,

  [code] [varchar](50) NOT NULL,

  [name] [varchar](40) NOT NULL,

  [open_time] [datetime] NULL,

  [close_time] [datetime] NULL,

  [last_action_by] [int] NOT NULL,

  [last_action_datetime] [datetime] NOT NULL,

  [SYSTEM_INSERTED] [datetime] NULL,

  [SYSTEM_UPDATED] [datetime] NULL,

  [SYSTEM_CHANGEDBY] [nvarchar](50) NULL,

  [SYSTEM_PRIORITY] [int] NULL

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

ALTER TABLE [dbo].[T_SEC_EXCHANGE] ADD  CONSTRAINT [DF__T_SEC_EXC___4E0988E7]  DEFAULT (getdate()) FOR [SYSTEM_INSERTED]

GO

ALTER TABLE [dbo].[T_SEC_EXCHANGE] ADD  CONSTRAINT [DF__T_SEC_EXC___4EFDAD20]  DEFAULT (getdate()) FOR [SYSTEM_UPDATED]

GO

ALTER TABLE [dbo].[T_SEC_EXCHANGE] ADD  CONSTRAINT [DF__T_SEC_EXC___4FF1D159]  DEFAULT ('UNKNOWN') FOR [SYSTEM_CHANGEDBY]

GO

ALTER TABLE [dbo].[T_SEC_EXCHANGE] ADD  CONSTRAINT [DF__T_SEC_EXC___50E5F592]  DEFAULT ((1)) FOR [SYSTEM_PRIORITY]

GO

INSERT INTO [dbo].[T_SEC_EXCHANGE]

           ([exchange_id]

           ,[exchange_type_id]

           ,[code]

           ,[name]

           ,[open_time]

           ,[close_time]

           ,[last_action_by]

           ,[last_action_datetime]

           ,[SYSTEM_INSERTED]

           ,[SYSTEM_UPDATED]

           ,[SYSTEM_CHANGEDBY]

           ,[SYSTEM_PRIORITY])

     VALUES

           (

0, 1, 'XML', 'OMLX THE LONDON SECURITIES AND DERIVATIV', NULL, NULL, 936,'2004-02-25 09:36:23.177',

'2015-07-24 11:27:00.527','2015-07-24 11:27:00.527','dave', 1)

 

Additionally, the method which gets the data from MsSql is:

 

public static void GetDataReaderSelect_t_sec_exchange(out SqlConnection conn, out IDataReader reader)

{

     conn = new SqlConnection(@"Data Source=LOCALHOST;Initial Catalog=MySqlDb;Integrated Security=SSPI");

     conn.Open();

     string sql = "SELECT top 1 exchange_type_id  from t_sec_exchange order by 1 desc"; //exchange_type_id is a NUMERIC (8,0) in SqlSvr.

     Console.WriteLine("Reader: " + sql);

     SqlCommand cmd = new SqlCommand(sql, conn);

     cmd.CommandTimeout = 60;

     reader = cmd.ExecuteReader();

}

 

 

Dave


Viewing all articles
Browse latest Browse all 3587

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>