如何修改Oracle數據庫字符集

SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,
                DECODE(TYPE#,
                       1,
                       DECODE(CHARSETFORM,
                              1,
                              'VARCHAR2',
                              2,
                              'NVARCHAR2',
                              'UNKOWN'),
                       9,
                       DECODE(CHARSETFORM,
                              1,
                              'VARCHAR',
                              2,
                              'NCHAR VARYING',
                              'UNKOWN'),
                       96,
                       DECODE(CHARSETFORM, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
                       112,
                       DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
  FROM SYS.COL$
 WHERE CHARSETFORM IN (1, 2)
   AND TYPE# IN (1, 9, 96, 112);

修改sys.props$表中的NLS_CHARACTERSET,NLS_NCHAR_CHARACTERSET的值為UTF8。

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;

COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
COL VALUE NEW_VALUE NCHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';

ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

SHUTDOWN IMMEDIATE;
STARTUP;

SHUTDOWN IMMEDIATE;
STARTUP;

时间: 2024-10-24 07:03:49

如何修改Oracle數據庫字符集的相关文章

DataTable 數據插入到Oracle數據庫中

问题描述 請問如何將DataTable中的數據插入到Oracle中往SQL數據庫中插入有SqlBulkCopy,Oracle用什么呢? 解决方案 解决方案二:学习

C#連接oracle數據庫

问题描述 我的網站在本地測試OK,發佈后配置好IIS打開首頁連接資料庫,就報ORA-12154:TNS:無法解析指定的連線ID錯誤連接字符串為<connectionStrings><addname="OR_SQLCONNECTIONSTRING"connectionString="DataSource=SAJET_ODAC;UserID=SAJET;Password=tech;Unicode=True"/></connectionStr

備份服務器端SQL SERVER數據庫至本地目錄

server /*數據庫備份存儲過程*//*支持從服務器備份數據至本地機器上*/-- 作者:yoncenCREATE PROCEDURE up_dbbackup(@backup_db_name VARCHAR(128),@filename VARCHAR(128), /*備份路徑+文件名*/@flag VARCHAR(60) OUTPUT)ASSET NOCOUNT ONDECLARE @sql NVARCHAR(4000),@par NVARCHAR(1000)IF NOT EXISTS( 

數據庫從VB導入到Excel

excel 請你自己加個CommonDialog控件 Private Sub Command3_Click() Dim objFileSystem As Object Dim objExcelText As Object Dim strTableString As String, i As Integer, strFileName As String Dim pubConn As New ADODB.Connection Dim rsTable As New ADODB.Recordset Di

如何實現在網頁中輸入的數據保存到數據庫中

问题描述 在vs2005中我創建了一個頁面,上面有幾個文本框,一個綁定了數據庫的gridview控件,現想實現把輸入在文本框中的內容顯示在gridview數據表格中.請各位高手指點如何用C#代碼實現(可增加控件) 解决方案 解决方案二:C#高手一般不来VC版面.解决方案三:HTML代码<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits=&q

c++ 數據庫-MFC全局對象問題進行聲明

问题描述 MFC全局對象問題進行聲明 今天編寫一個MFC的應用程序,其中涉及到連接數據庫,單獨寫了一個類用來連接數據庫,代碼如下: My.h #include "stdafx.h" class myApp : public CWinApp{ public: _RecordsetPtr m_pRt; _ConnectionPtr m_pConn; public: myApp(); virtual BOOL Instance(); void close(); }; My.cpp #incl

怎樣將Active Directory members 存到Sql數據庫中

问题描述 最近在做一個AD系統,要將一個user(CN=person)用戶的存到sql數據庫中,其中有一項屬性:Memberof,它的個數是不確定的,也就是說一個用戶屬於哪幾個組,這個組的個數是不確定的,這樣在建表的時候就遇到問題了:字段不確定.後來想多建幾個字段,比如1024,但是我不清楚memberof的個數最多是幾個,會不會超出範圍,而且表的字段建太多的話,效能也會降低.各位大俠,有什麽解決方案嗎?不甚感激....... 解决方案 解决方案二:怎么沒人回答啊,自己頂解决方案三:路過路過路過

關於c# 取 INTERBASE7.0數據庫數據問題

问题描述 各位兄弟:我用C#(VS2008)寫了個程序,後臺是SQL2000,現在發現要用到INTERBASE7.0數據庫中的數據,也就是查詢一下而已,整了幾天了,都不行,還望各位給個方法提示什麽的.比如是直接用c#連接interbase還是用sqlserver每天晚上拷貝數據都可以,只是我不知道如何操作.請各位,幫幫忙, 解决方案 解决方案二:沒人回覆下嗎?傳說中高手最多的地方?解决方案三:你难道不知道有Google这个东西吗?这个问题很简单,一搜索就有...要学会查资料解决方案四:引用2楼的

讀取數據庫中圖片!!!!!!!!!1

问题描述 以下是我寫的一個簡單代碼,保存的會了,現在做讀取出現了錯誤.總是說"參數無效",問題出現在這條代碼上pictureBox1.Image=(Bitmap)Image.FromStream(memorystream);懇請高手指教SqlConnectioncon=newSqlConnection(strCon);stringstrCmd="selectPICfromUserInforwhereid=1";SqlCommandCmd=newSqlCommand(