小编Syb*_*eus的帖子

SQL Server管理对象(SMO)中的默认约束不一致

我有程序使用SQL Server管理对象(SMO)为Microsoft SQL Server数据库生成DDL脚本.但是,根据服务器和数据库,我会收到表的默认约束的不一致输出.有时它们与CREATE TABLE声明一致,有时它们是独立的ALTER TABLE声明.我意识到两者都是有效且正确的SQL语句,但是如果没有一致性,它会阻止多个数据库的输出之间的自动比较,并阻止将输出添加到源控件以跟踪数据库模式的更改.如何确保默认约束的脚本输出的一致性?

示例程序

代码应该是直截了当的.打开服务器和数据库,然后为每个数据库对象生成单独的脚本文件,再生成一个包含整个数据库脚本的文件.我省略了很多错误检查和数据库对象,它们似乎已经生成了一致的输出.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.Data.SqlClient;
using System.IO;
using System.Configuration;
using System.Runtime.Serialization;
using System.Data;

namespace Stackoverflow.Sample
{
    class Program
    {
        public static void CreateScripts(SqlConnectionStringBuilder source, string destination)
        {
            Server sv = new Server(source.DataSource);
            sv.ConnectionContext.LoginSecure = false;
            sv.ConnectionContext.Login = source.UserID;
            sv.ConnectionContext.Password = source.Password;
            sv.ConnectionContext.ConnectionString = source.ConnectionString;

            Database db = sv.Databases[source.InitialCatalog];

            ScriptingOptions options = new ScriptingOptions();
            options.ScriptData = false;
            options.ScriptDrops = …
Run Code Online (Sandbox Code Playgroud)

c# sql-server smo

10
推荐指数
1
解决办法
1993
查看次数

约束加权选择

我有一个有效的加权选择算法,但我想在两个方面(按重要性顺序)改进它:

  1. 保证选择每个可能选择的最小数量.
  2. 将计算复杂度从O(nm)降低O(n)O(m),其中n是所请求的随机选择项的数量,m是可用项的类型.

编辑:为了我的目的,请求的数量通常很小(小于100).因此,具有复杂度O(t)O(t + n)的算法,其中t是项的总数,由于O(t) > O(m),通常比O(nm)表现更差.

简化代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;

public class Program
{
    static void Main(string[] args)
    {
        // List of items with discrete availability
        // In this example there is a total of 244 discrete items and 3 types, 
        // but there could be millions of items and …
Run Code Online (Sandbox Code Playgroud)

c# random algorithm

6
推荐指数
1
解决办法
418
查看次数

标签 统计

c# ×2

algorithm ×1

random ×1

smo ×1

sql-server ×1