Mon application est utilisée pour copier des tables d'un database
et de les dupliquer à un autre, j'utilise smo
et c#
. Mon code:NullReferenceException lors de la création d'une table avec DateTime Column (SMO, C#)
private static void createTable(Table sourcetable, string schema, Server destinationServer,
Database db)
{
Table copiedtable = new Table(db, sourcetable.Name, schema);
createColumns(sourcetable, copiedtable);
copiedtable.AnsiNullsStatus = sourcetable.AnsiNullsStatus;
copiedtable.QuotedIdentifierStatus = sourcetable.QuotedIdentifierStatus;
copiedtable.TextFileGroup = sourcetable.TextFileGroup;
copiedtable.FileGroup = sourcetable.FileGroup;
copiedtable.Create();
}
private static void createColumns(Table sourcetable, Table copiedtable)
{
foreach (Column source in sourcetable.Columns)
{
Column column = new Column(copiedtable, source.Name, source.DataType);
column.Collation = source.Collation;
column.Nullable = source.Nullable;
column.Computed = source.Computed;
column.ComputedText = source.ComputedText;
column.Default = source.Default;
if (source.DefaultConstraint != null)
{
string tabname = copiedtable.Name;
string constrname = source.DefaultConstraint.Name;
column.AddDefaultConstraint(tabname + "_" + constrname);
column.DefaultConstraint.Text = source.DefaultConstraint.Text;
}
column.IsPersisted = source.IsPersisted;
column.DefaultSchema = source.DefaultSchema;
column.RowGuidCol = source.RowGuidCol;
if (server.VersionMajor >= 10)
{
column.IsFileStream = source.IsFileStream;
column.IsSparse = source.IsSparse;
column.IsColumnSet = source.IsColumnSet;
}
copiedtable.Columns.Add(column);
}
}
Le projet parfaitement fonctionne avec le vent du Nord database
, cependant, avec quelques tables de AdventureWorks2014 database
j'obtiens l'exception intérieure suivante à copiedtable.Create();
:
NullReferenceException: objet de référence non définie à une instance d'un objet.
Je soupçonne que la colonne AdventureWorks datetime
peut être la cause du problème (données est entré comme: 2008-04-30 00: 00: 00.000)
double possible de (https://stackoverflow.com/ questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –