标签: guid

Is COMB GUID a good idea with Rails 3.1 if I use GUIDs for primary keys?

I'm using Rails 3.1 with PostgreSQL 8.4. Let's assume I want/need to use GUID primary keys. One potential drawback is index fragmentation. In MS SQL, a recommended solution for that is to use special sequential GUIDs. One approach to sequential GUIDs is the COMBination GUID that substitutes a 6-byte timestamp for the MAC address portion at the end of the GUID. This has some mainstream adoption: COMBs are available natively in NHibernate (NHibernate/Id/GuidCombGenerator.cs).

I think I've figured out …

uuid activerecord guid ruby-on-rails ruby-on-rails-3.1

4
推荐指数
1
解决办法
1467
查看次数

基于字符串生成 Guid

我们想根据一些随机字符串生成一个 Guid。目标是使给定字符串的 Guid 始终相同。

需要说明的是,我的字符串没有格式化为 guid,它可能是“Toto”,即“asdfblkajsdflknasldknalkvkndlskfj”。

我知道这会生成一些与我的输入字符串一样独特的 Guid,但这不是这里的问题。

.net c# guid

4
推荐指数
1
解决办法
2830
查看次数

在汇总 ESM 库中导入 uuid 会在输出文件中为“crypto”创建一个导入语句

编辑:添加插件配置更清晰


uuid在汇总项目中使用包。起初,我收到了外部依赖加密的警告。所以我在我的汇总配置中添加了externaloutput.globals

export default [{
  input: '/path/to/input.js',
  external: ['crypto'],
  output: {
    file: '/path/to/output.esm.js',
    format: 'esm',
    ...
    globals: {
      crypto: 'crypto'
    }
  },
  plugins: [
    resolve({
      customResolveOptions: {
        moduleDirectory: 'node_modules'
      },
      preferBuiltins: true
    }),
    commonjs({
      namedExports: {
        uuid: ['v4']
      }
    })
  ]
}];
Run Code Online (Sandbox Code Playgroud)

警告消失了,但现在我的输出文件中有一个导入语句:

输出.esm.js

import crypto from 'crypto';
...
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我包含output.esm.js在浏览器中,这会起作用吗?

<script type="module" src="/path/to/output.esm.js"></script>
Run Code Online (Sandbox Code Playgroud)

uuid dependencies guid rollup cryptojs

4
推荐指数
1
解决办法
1185
查看次数

Guid.NewGuid() 在 Parallel.For 循环中使用时返回重复值

我有一个正在访问 API 的应用程序。因此,它对对象中的所有 ID 进行查询,然后必须对每个 ID 一次查询一个项目。我在 Parallel.For 循环中执行此操作并将每个项目数据添加到数据表中的一行。然后我使用 sqlbulkcopy 将数据表发送到 SQL 服务器表。

如果我在不使用 Parallel.For 的情况下执行此操作,则效果很好。但是,对于 Parallel.For,这一行:

workrow["id"] = Guid.NewGuid();
Run Code Online (Sandbox Code Playgroud)

正在生成重复的 Guid。它经常这样做并导致数据无法加载到 SQL 服务器表中,因为 SQL 中的 id 行是主键并且不允许重复。我尝试锁定:

                    lock (lockobject)
                    {
                        workrow["id"] = Guid.NewGuid();
                    }
Run Code Online (Sandbox Code Playgroud)

这没有帮助。
我尝试不为该字段分配一个 id,希望 SQL 会生成它(它在该字段上确实有 newid())。说它不能插入空值失败了。我似乎不能只是从数据表中删除 id 字段,因为当我执行 sqlbulkcopy 时,列不会对齐。

有人可以在这里帮助我吗?我要么需要弄清楚如何让 Guid.NewGuid() 停止生成重复项,要么我需要找出一种不传入 id(始终是数据表中的第一个字段)的方法,以便 SQL 生成 id。

这是我用来生成表之一的代码:

        public static DataTable MakeWorkflowTable()
        {
            DataTable Workflow = new DataTable("Workflow");
            DataColumn id = new DataColumn("id", System.Type.GetType("System.Guid"));
            Workflow.Columns.Add(id);
            DataColumn OrgInfoID = new DataColumn("OrgInfoID", System.Type.GetType("System.Guid"));
            Workflow.Columns.Add(OrgInfoID);
            DataColumn Name = …
Run Code Online (Sandbox Code Playgroud)

c# sql-server multithreading guid sqlbulkcopy

4
推荐指数
1
解决办法
884
查看次数

为什么Guid.NewGuid()会生成一个空guid?

我有一个创建空Guid的Guid.NewGuid()调用.

什么会导致这样的问题,我该如何解决?

编辑:代码:

<WebMethod()> _
Public Function CreateRow(rowValue As String) as String
    Dim rowPointer As Guid = System.Guid.NewGuid()
    Dim rowPointerValue As String = rowPointer.ToString()

    Try
        Dim result as Integer = SqlHelper.ExecuteNonQuery(ConnectionString, "Sproc_Name", rowValue, rowPointer)

        Return result
    Catch ex as Exception
        Throw ex
    End Try
End Function
Run Code Online (Sandbox Code Playgroud)

编辑:结果是rowPointer最初被传递给SqlHelper而不是rowPointerValue - 这当然是作为空传递的,如答案中所指出的那样.将其更改为rowPointerValue/rowPointer.ToString()修复了该问题.

vb.net asp.net guid

3
推荐指数
1
解决办法
9336
查看次数

.Net中最简单的唯一标识符是什么?

所以我有这个

public class Foo
{
    public int UniqueIdentifier;

    public Foo()
    {
        UniqueIdentifier = ????
    }    
}
Run Code Online (Sandbox Code Playgroud)

如何获得完全唯一的号码?

谢谢!

.net c# class-design guid

3
推荐指数
1
解决办法
369
查看次数

如何从Win32 DLL或OCX中提取GUID

我们有一个.NET应用程序需要检查可能包含COM库(DLL和OCX)的文件夹.当我们遇到COM库时,我们需要完成的一件事是从COM DLL或OCX中提取GUID.

在没有使用第三方库的情况下,有没有直接的方法来使用.NET?

c# vb.net com guid tlbinf32

3
推荐指数
1
解决办法
7992
查看次数

手动更改GUID - 有多糟糕?

手动更改生成的GUID并使用它有多糟糕?碰撞的可能性是否仍然微不足道,或者GUID的操纵是否危险?

有时我们只是更改以前生成的GUID的一些字母并使用它.我们应该停止这样做吗?

guid

3
推荐指数
1
解决办法
8775
查看次数

如何创建不包含数字的唯一标识符?

我想在.resx文件中使用某种唯一标识符,但它不允许键以数字开头.在我得到以字母开头的GUID之前,我不想循环访问GUID,而是想知道是否存在替代UID类型,该类型不包含数字或者否则将满足此要求.

有什么想法吗?

c# guid uniqueidentifier uid

3
推荐指数
1
解决办法
2717
查看次数

给定GUID,如果我缩短它...我们可以假设它仍然是唯一的吗?

鉴于GUID's(或多或少)唯一,如果我们用一些代码缩短它:

它基本上只是将GUID转换为base64字符串并稍微缩短它.它需要像这样的标准GUID:

c9a646d3-9c61-4cb7-BFCD-ee2522c8f633

并将其转换为这个较小的字符串:

00amyWGct0y_ze4lIsj2Mw

我现在可以假设缩短的guid与之前(正常)形式一样独特吗?

language-agnostic guid

3
推荐指数
1
解决办法
80
查看次数