Oracle中夸库查询表数据以及RAW(20),guid.native与c#Guid之间转换知识

来源:互联网 发布:网站排名软件利搜 编辑:程序博客网 时间:2024/06/05 11:58

1:select * from dba_db_links;表示查询Oracle中夸库查询表数据,是否有dlinks

2:drop public database link DBLINKName;表示删除公开权限的DBLINKName
      drop  database link DBLINKName;表示删除OWNER权限的DBLINKName

3:创建dlinks

create  database link DBLINKName connect totarget_username identified by target_password
   using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = target_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME =target_serviceName)
)
)';

4:

Oracle的GUID:Raw(16)

  最近用了Oracle作为开发的数据库。以前用Sqlserver的时候用GUID作为主键的(数据类型:uniqueidentifier),Oracle的GUID类型变成RAW(16)了。从数据库读出来RAW(16)放到DateTable里,这个RAW(16)是个Byte[16]数组,这就没法"="之类的进行比较了。所以得转成GUID。

.NET中:

//RAW(16)转到GUID:

 dt.Columns.Add("Test_idGuid");//添加Guid列

foreach (DataRow row in dt.Rows)
{
  row["Test_idGuid"] = new Guid((byte[])row["Test_id"]).ToString();
}

DataRow[] dts = dt.Select("Test_idGuid = '" +row["Test_idGuid"].ToString()+"'");

 

//GUID转到RAW(16):

BitConverter.ToString(Guid.Parse(dt.Rows[0]["Test_idGuid"].ToString()).ToByteArray()).Replace("-","");

 

//////////////////////////////////////////////////////////////////

ORACLE中产生RAW(16):

select SYS_GUID() from dual; //dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。

 

原创粉丝点击