internal static List <OracleConnectionInfo> GetConnectionInfoList() { var rval = new List <OracleConnectionInfo>(); //host:uchdbdev.uc.usbr.gov service:uchdbdev.uc.usbr.gov //string pattern = "host:(?<host>[^\\s]+)\\s+service:(?<service>[^\\s]+)\\s+timezone:(?<timezone>[^\\s]{3,3})\\s+sid:(?<sid>[^\\s]+)"; string pattern = "host:(?<host>[^\\s]+)\\s+service:(?<service>[^\\s]+)\\s+timezone:(?<timezone>[^\\s]{3,3})"; Regex re = new Regex(pattern); foreach (string line in Settings.Default.HdbServers) { if (re.IsMatch(line)) { OracleConnectionInfo c = new OracleConnectionInfo(); Match m = re.Match(line); c.Host = re.Match(line).Groups["host"].Value; c.Service = re.Match(line).Groups["service"].Value; c.ServicePrefix = c.Service; int idx = c.ServicePrefix.IndexOf("."); if (idx > 0) { c.ServicePrefix = c.ServicePrefix.Substring(0, idx); } c.Timezone = re.Match(line).Groups["timezone"].Value; rval.Add(c); } } return(rval); }
public override object ProcessConnectionInfoCmdlet() { OracleConnectionInfo connectionInfo = new OracleConnectionInfo { DataSource = MyInvocation.BoundParameters[dataSource] as string }; return(connectionInfo); }
public override ProjectTaskProperties ProcessTaskCmdlet() { OracleConnectionInfo sourceConnectionInfo = null; PostgreSqlConnectionInfo targetConnectionInfo = null; List <MigrateOracleAzureDbPostgreSqlSyncDatabaseInput> selectedDatabases = null; if (MyInvocation.BoundParameters.ContainsKey(SourceConnection)) { sourceConnectionInfo = (OracleConnectionInfo)MyInvocation.BoundParameters[SourceConnection]; PSCredential cred = (PSCredential)MyInvocation.BoundParameters[SourceCred]; sourceConnectionInfo.UserName = cred.UserName; sourceConnectionInfo.Password = Decrypt(cred.Password); } if (MyInvocation.BoundParameters.ContainsKey(TargetConnection)) { targetConnectionInfo = (PostgreSqlConnectionInfo)MyInvocation.BoundParameters[TargetConnection]; PSCredential cred = (PSCredential)MyInvocation.BoundParameters[TargetCred]; targetConnectionInfo.UserName = cred.UserName; targetConnectionInfo.Password = Decrypt(cred.Password); } if (MyInvocation.BoundParameters.ContainsKey(SelectedDatabases)) { selectedDatabases = ((MigrateOracleAzureDbPostgreSqlSyncDatabaseInput[])MyInvocation.BoundParameters[SelectedDatabases]).ToList(); } var properties = new MigrateOracleAzureDbForPostgreSqlSyncTaskProperties { Input = new MigrateOracleAzureDbPostgreSqlSyncTaskInput { SelectedDatabases = selectedDatabases, SourceConnectionInfo = sourceConnectionInfo, TargetConnectionInfo = targetConnectionInfo, } }; return(properties); }
public void CreateConnection(OracleConnectionInfo conInfo) { environment = new OciEnvironmentHandle(OciEnvironmentMode.Threaded | OciEnvironmentMode.NoUserCallback); if (environment.Handle == IntPtr.Zero) { throw new OracleException(0, "Could not allocate the Oracle environment."); } service = (OciServiceHandle)environment.Allocate(OciHandleType.Service); if (service == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } error = (OciErrorHandle)environment.Allocate(OciHandleType.Error); if (error == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } service.ErrorHandle = error; server = (OciServerHandle)environment.Allocate(OciHandleType.Server); if (server == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } session = (OciSessionHandle)environment.Allocate(OciHandleType.Session); if (session == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } session.Username = conInfo.Username; session.Password = conInfo.Password; session.Service = service; if (!server.Attach(conInfo.Database, ErrorHandle)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } if (!service.SetServer(server)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } #if ORACLE_DATA_ACCESS if (conInfo.SetNewPassword == true) { // open with new password if (!service.SetSession(session)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } if (!service.ChangePassword(conInfo.NewPassword, error)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } conInfo.Password = conInfo.NewPassword; conInfo.SetNewPassword = false; conInfo.NewPassword = string.Empty; } else { #endif // open normally if (!session.BeginSession(conInfo.CredentialType, OciSessionMode.Default, ErrorHandle)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } if (!service.SetSession(session)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } #if ORACLE_DATA_ACCESS } #endif connected = true; }
public void CreateConnection (OracleConnectionInfo conInfo) { environment = new OciEnvironmentHandle (OciEnvironmentMode.Threaded | OciEnvironmentMode.NoUserCallback); if (environment.Handle == IntPtr.Zero) throw new OracleException (0, "Could not allocate the Oracle environment."); service = (OciServiceHandle) environment.Allocate (OciHandleType.Service); if (service == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } error = (OciErrorHandle) environment.Allocate (OciHandleType.Error); if (error == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } service.ErrorHandle = error; server = (OciServerHandle) environment.Allocate (OciHandleType.Server); if (server == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } session = (OciSessionHandle) environment.Allocate (OciHandleType.Session); if (session == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } session.Username = conInfo.Username; session.Password = conInfo.Password; session.Service = service; if (!server.Attach (conInfo.Database, ErrorHandle)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } if (!service.SetServer (server)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } #if ORACLE_DATA_ACCESS if (conInfo.SetNewPassword == true) { // open with new password if (!service.SetSession (session)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } if (!service.ChangePassword (conInfo.NewPassword, error)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } conInfo.Password = conInfo.NewPassword; conInfo.SetNewPassword = false; conInfo.NewPassword = string.Empty; } else { #endif // open normally if (!session.BeginSession (conInfo.CredentialType, OciSessionMode.Default, ErrorHandle)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } if (!service.SetSession (session)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } #if ORACLE_DATA_ACCESS } #endif connected = true; }
public void CreateConnection(OracleConnectionInfo conInfo) { environment = new OciEnvironmentHandle(OciEnvironmentMode.Threaded | OciEnvironmentMode.NoUserCallback); if (environment.Handle == IntPtr.Zero) { throw new OracleException(0, "Could not allocate the Oracle environment."); } service = (OciServiceHandle)environment.Allocate(OciHandleType.Service); if (service == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } error = (OciErrorHandle)environment.Allocate(OciHandleType.Error); if (error == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } service.ErrorHandle = error; server = (OciServerHandle)environment.Allocate(OciHandleType.Server); if (server == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } session = (OciSessionHandle)environment.Allocate(OciHandleType.Session); if (session == null) { OciErrorInfo info = environment.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } session.Username = conInfo.Username; session.Password = conInfo.Password; session.Service = service; if (!server.Attach(conInfo.Database, ErrorHandle)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } if (!service.SetServer(server)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } if (!session.BeginSession(conInfo.CredentialType, OciSessionMode.Default, ErrorHandle)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } if (!service.SetSession(session)) { OciErrorInfo info = error.HandleError(); Disconnect(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } connected = true; }
public void CreateConnection (OracleConnectionInfo conInfo) { environment = new OciEnvironmentHandle (OciEnvironmentMode.Threaded | OciEnvironmentMode.NoUserCallback); if (environment.Handle == IntPtr.Zero) throw new OracleException (0, "Could not allocate the Oracle environment."); service = (OciServiceHandle) environment.Allocate (OciHandleType.Service); if (service == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } error = (OciErrorHandle) environment.Allocate (OciHandleType.Error); if (error == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } service.ErrorHandle = error; server = (OciServerHandle) environment.Allocate (OciHandleType.Server); if (server == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } session = (OciSessionHandle) environment.Allocate (OciHandleType.Session); if (session == null) { OciErrorInfo info = environment.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } session.Username = conInfo.Username; session.Password = conInfo.Password; session.Service = service; if (!server.Attach (conInfo.Database, ErrorHandle)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } if (!service.SetServer (server)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } if (!session.BeginSession (OciCredentialType.RDBMS, OciSessionMode.Default, ErrorHandle)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } if (!service.SetSession (session)) { OciErrorInfo info = error.HandleError (); Disconnect (); throw new OracleException (info.ErrorCode, info.ErrorMessage); } connected = true; }
public void SimpleCRUDTest() { bool beforeInsert = false; bool afterInsert = false; bool beforeUpdate = false; bool afterUpdate = false; bool beforeDelete = false; bool afterDelete = false; var info = new OracleConnectionInfo("192.168.10.246", 1521, "XE", "system", "password"); var store = new OracleDataStore(info); store.AddType <TestItem>(); store.BeforeInsert += delegate { beforeInsert = true; }; store.AfterInsert += delegate { afterInsert = true; }; store.BeforeUpdate += delegate { beforeUpdate = true; }; store.AfterUpdate += delegate { afterUpdate = true; }; store.BeforeDelete += delegate { beforeDelete = true; }; store.AfterDelete += delegate { afterDelete = true; }; store.TruncateTable("TestItem"); var itemA = new TestItem("ItemA"); itemA.ID = 1; itemA.UUID = Guid.NewGuid(); itemA.ITest = 5; itemA.FTest = 3.14F; itemA.DBTest = 1.4D; itemA.DETest = 2.678M; var itemB = new TestItem("ItemB"); itemB.ID = 2; var itemC = new TestItem("ItemC"); itemC.ID = 3; // INSERT store.Insert(itemA); Assert.IsTrue(beforeInsert, "BeforeInsert never fired"); Assert.IsTrue(afterInsert, "AfterInsert never fired"); store.Insert(itemB); store.Insert(itemC); // COUNT var count = store.Count <TestItem>(); Assert.AreEqual(3, count); // SELECT var items = store.Select <TestItem>(); Assert.AreEqual(3, items.Count()); var item = store.Select <TestItem>("Name", itemB.Name).FirstOrDefault(); Assert.IsTrue(item.Equals(itemB)); item = store.Select <TestItem>(itemC.ID); Assert.IsTrue(item.Equals(itemC)); // FETCH // UPDATE itemC.Name = "NewItem"; itemC.Address = "Changed Address"; itemC.TS = new TimeSpan(8, 23, 30); itemC.BigString = "little string"; // test rollback store.BeginTransaction(); store.Update(itemC); item = store.Select <TestItem>(itemC.ID); Assert.IsTrue(item.Name == itemC.Name); store.Rollback(); item = store.Select <TestItem>(itemC.ID); Assert.IsTrue(item.Name != itemC.Name); // test commit store.BeginTransaction(System.Data.IsolationLevel.Unspecified); store.Update(itemC); store.Commit(); Assert.IsTrue(beforeUpdate, "BeforeUpdate never fired"); Assert.IsTrue(afterUpdate, "AfterUpdate never fired"); item = store.Select <TestItem>("Name", "ItemC").FirstOrDefault(); Assert.IsNull(item); item = store.Select <TestItem>("Name", itemC.Name).FirstOrDefault(); Assert.IsTrue(item.Equals(itemC)); // CONTAINS var exists = store.Contains(itemA); Assert.IsTrue(exists); // DELETE store.Delete(itemA); Assert.IsTrue(beforeDelete, "BeforeDelete never fired"); Assert.IsTrue(afterDelete, "AfterDelete never fired"); item = store.Select <TestItem>("Name", itemA.Name).FirstOrDefault(); Assert.IsNull(item); // CONTAINS exists = store.Contains(itemA); Assert.IsFalse(exists); // COUNT count = store.Count <TestItem>(); Assert.AreEqual(2, count); // this will create the table in newer versions of ORM store.AddType <LateAddItem>(); var newitems = store.Select <LateAddItem>(false); Assert.IsNotNull(newitems); }
public void TestMethod1() { var info = new OracleConnectionInfo("192.168.10.246", 1521, "XE", "system", "password"); var store = new OracleDataStore(info); }