jjzjj

nvarchar

全部标签

java - 我应该使用 JDBC getNString() 而不是 getString() 吗?

我们正在构建一个由我们使用JDBC访问的Oracle数据库支持的Java应用程序(驱动程序ojdbc6.jar和orai18n.jar)。数据库架构主要使用NVARCHAR2数据类型存储文本列。JDBCdocumentation对于JDBCResultSet表示getNString()特别适用于NCHAR、NVARCHAR等数据类型,但目前我们只使用getString()。这似乎工作正常,所以我想知道为什么我应该使用getNString()而不是getString()。如果输入非ASCII字符,getString()是否会开始失败,或者OracleJDBC驱动程序是否对我应该使用哪种方

java - 让 Hibernate 和 SQL Server 更好地处理 VARCHAR 和 NVARCHAR

我目前正在一个大型数据库的某些表中启用UTF-8字符。这些表已经是MS-SQL类型NVARCHAR。此外,我还有几个使用VARCHAR的字段。Hibernate与JDBC驱动程序的交互存在一个众所周知的问题(参见例如Mappingtovarcharandnvarcharinhibernate)。简而言之,Hibernate/JDBC生成的SQL将所有字符串作为Unicode传递,而不管底层SQL类型如何。当数据库中的非unicode(varchar)字段与Unicode输入字符串进行比较时,该列的索引与编码不匹配,因此执行全表扫描。在JDBC驱动程序(JTDS和MS版本)中有一个参数将

python - Pandas to_sql 所有列为 nvarchar

我有一个pandas数据框,它是动态创建的,其中的列名各不相同。我试图将它们推送到sql,但不希望它们作为默认数据类型“文本”进入mssqlserver(谁能解释为什么这是默认值?使用更常见的数据类型是否有意义?)有谁知道如何为所有列指定数据类型?column_errors.to_sql('load_errors',push_conn,if_exists='append',index=False,dtype=#Datatypeforallcolumns#)dtype参数采用字典,因为我不知道列是什么,所以很难将它们全部设置为'sqlalchemy.types.NVARCHAR'这是我想

sqlite - Sqlite 中的 NVARCHAR (MAX)

我在Sqlite中创建一个表,其中包含一个最大长度的列:createtable[Log](IdintidentitynotnullconstraintPK_Log_Idprimarykey,Datanvarchar(max)null)但不接受以下行:Datanvarchar(max)null为什么? 最佳答案 max特定于SQLServer(我认为是Sybase)。只需使用text:datatextnotnull或者,您真的可以使用任何字符串数据类型。SQLite不强制执行长度限制:Notethatnumericargumentsi

sqlite - Sqlite 中的 NVARCHAR (MAX)

我在Sqlite中创建一个表,其中包含一个最大长度的列:createtable[Log](IdintidentitynotnullconstraintPK_Log_Idprimarykey,Datanvarchar(max)null)但不接受以下行:Datanvarchar(max)null为什么? 最佳答案 max特定于SQLServer(我认为是Sybase)。只需使用text:datatextnotnull或者,您真的可以使用任何字符串数据类型。SQLite不强制执行长度限制:Notethatnumericargumentsi

sqlite - SQLite 中 VARCHAR NVARCHAR 的区别

SQLite中varchar和nvarchar有什么区别 最佳答案 在MicrosoftSQLServer中,VARCHAR是ASCII,NVARCHAR是Unicode(UTF-16)。在SQLite中,所有文本都是Unicode,因此不相关。在任何情况下,SQLite都是松散类型的,所以无论如何它都不会有什么不同。参见http://www.sqlite.org/datatype3.html:) 关于sqlite-SQLite中VARCHARNVARCHAR的区别,我们在StackOv

sqlite - SQLite 中 VARCHAR NVARCHAR 的区别

SQLite中varchar和nvarchar有什么区别 最佳答案 在MicrosoftSQLServer中,VARCHAR是ASCII,NVARCHAR是Unicode(UTF-16)。在SQLite中,所有文本都是Unicode,因此不相关。在任何情况下,SQLite都是松散类型的,所以无论如何它都不会有什么不同。参见http://www.sqlite.org/datatype3.html:) 关于sqlite-SQLite中VARCHARNVARCHAR的区别,我们在StackOv

c# - 覆盖长文本字符串的流利 NHibernate nvarchar(MAX) 而不是 nvarchar(255)

当你在fluentNHibernate中设置一个字符串值时,它总是将DB值设置为Nvarchar(255),我需要存储相当多的基于用户输入的长字符串,而255是不切实际的。补充一下,这是自动映射器的一个问题,因为我正在使用流畅的NHibernate来构建数据库。 最佳答案 添加此约定会将字符串属性的默认长度设置为10000。正如其他人所指出的,这将是一个nvarchar(max)列。publicclassStringColumnLengthConvention:IPropertyConvention,IPropertyConvent

c# - 覆盖长文本字符串的流利 NHibernate nvarchar(MAX) 而不是 nvarchar(255)

当你在fluentNHibernate中设置一个字符串值时,它总是将DB值设置为Nvarchar(255),我需要存储相当多的基于用户输入的长字符串,而255是不切实际的。补充一下,这是自动映射器的一个问题,因为我正在使用流畅的NHibernate来构建数据库。 最佳答案 添加此约定会将字符串属性的默认长度设置为10000。正如其他人所指出的,这将是一个nvarchar(max)列。publicclassStringColumnLengthConvention:IPropertyConvention,IPropertyConvent

c# - 如何指定属性应生成 TEXT 列而不是 nvarchar(4000)

我正在使用EntityFramework的CodeFirst功能,我正在尝试弄清楚如何指定在自动生成数据库时应创建的列数据类型。我有一个简单的模型:publicclassArticle{publicintArticleID{get;set;}publicstringTitle{get;set;}publicstringAuthor{get;set;}publicstringSummary{get;set;}publicstringSummaryHtml{get;set;}publicstringBody{get;set;}publicstringBodyHtml{get;set;}pu