The last BimlExpress update was in 2019. BimlExpress is not compatible with the newest versions of Visual Studio, and there are also issues with BimlExpress in the last compatible version of Visual Studio. Varigence has not made any statements about the future of BimlExpress, and have not responded to any forum posts or support tickets for years. Because of this, my time as a BimlHero and Varigence Partner is over. In my personal opinion, Biml is dead, and I can no longer recommend anyone to use it. My old Biml content will be available, but archived.
These posts are about Biml (Business Intelligence Markup Language), BimlScript, BimlExpress, BimlStudio, the BimlHero Certified Expert Program and events by the Biml community or Varigence. Older posts may mention BI Developer Extensions, BIDS Helper, Mist or BimlOnline.
At work we wanted to start using Biml to speed up development in our existing projects without making too many changes at once. I decided to start by writing Biml files that generates SSIS packages exactly like the ones we already have so we can implement changes faster, and step one was to figure out how to create Package Configurations and Connection Managers in Biml:
Create an XML configuration file Package Configuration
Create the Connection Manager specified in the XML configuration file
Create SQL Server Package Configurations that use the Connection Manager specified in the XML configuration file
Create Connection Managers specified in the [SSIS Configurations] table in SQL Server
The table below is a simplified mapping between SQL Server, SSIS and Biml Data Types. It does not include all possible mappings or all data types, but is meant as a quick reference while developing and learning Biml. I mainly created it as a cheat sheet for myself, but I hope other Biml developers will find it useful!
Can't remember this post's URL? Neither can I 😅 You can use this short URL instead: cathrinew.net/BimlDataTypes
Cheat Sheet for SQL Server, SSIS and Biml Data Types
SQL Server
SSIS
Biml
bigint
DT_I8
Int64
binary
DT_BYTES
Binary
bit
DT_BOOL
Boolean
char
DT_STR
AnsiStringFixedLength
date
DT_DBDATE
Date
datetime
DT_DBTIMESTAMP
DateTime
datetime2
DT_DBTIMESTAMP2
DateTime2
datetimeoffset
DT_DBTIMESTAMPOFFSET
DateTimeOffset
decimal
DT_NUMERIC
Decimal
float
DT_R8
Double
geography
DT_IMAGE
Object
geometry
DT_IMAGE
Object
hierarchyid
DT_BYTES
Object
image (*)
DT_IMAGE
Binary
int
DT_I4
Int32
money
DT_CY
Currency
nchar
DT_WSTR
StringFixedLength
ntext (*)
DT_NTEXT
String
numeric
DT_NUMERIC
Decimal
nvarchar
DT_WSTR
String
nvarchar(max)
DT_NTEXT
String
real
DT_R4
Single
rowversion
DT_BYTES
Binary
smalldatetime
DT_DBTIMESTAMP
DateTime
smallint
DT_I2
Int16
smallmoney
DT_CY
Currency
sql_variant
DT_WSTR
Object
text (*)
DT_TEXT
AnsiString
time
DT_DBTIME2
Time
timestamp (*)
DT_BYTES
Binary
tinyint
DT_UI1
Byte
uniqueidentifier
DT_GUID
Guid
varbinary
DT_BYTES
Binary
varbinary(max)
DT_IMAGE
Binary
varchar
DT_STR
AnsiString
varchar(max)
DT_TEXT
AnsiString
xml
DT_NTEXT
Xml
(*These data types will be removed in a future version of SQL Server. Avoid using these data types in new projects, and try to change them in current projects.)