예제 #1
0
        public void PostgreSQLProviderInsert()
        {
            DataProviderBase provider = new PostgreSQLDataProvider(new ConnectionParams()
            {
                Database = "Zenith",
                Password = "******",
                Port = 5432,
                Server = "localhost",
                Username = "******",
                OpenImmidiately = false
            });

            provider.Open();

            User user = new User()
            {
                Username = "******",
                AccessToken = "",
                EmailAddress = "*****@*****.**",
                Id = 23,
                IsValid = true
            };

            DataPayload<User> payload = new DataPayload<User>()
            {
                Entity = user,
                Identifier = null
            };

            DataResult result = provider.Execute(Operation.Insert, payload);
            Assert.IsNotNull(result);

            provider.Close();
            Assert.IsFalse(provider.IsOpen);
        }
예제 #2
0
        public void SpecificTest([IncludeDataSources(TestProvName.AllPostgreSQL)] string context, [Values] bool avoidProviderSpecificApi)
        {
            using (new AvoidSpecificDataProviderAPI(avoidProviderSpecificApi))
            {
                var provider = new PostgreSQLDataProvider(PostgreSQLVersion.v95);
                var cs       = DataConnection.GetConnectionString(context);
                using (var cn = new NpgsqlConnection(cs))
                    using (var db = new DataConnection(provider, cn))
                    {
                        db.MappingSchema.GetFluentMappingBuilder()
                        .Entity <Client>()
                        .HasTableName("Issue1438")
                        .Property(x => x.Id)
                        .IsPrimaryKey()
                        .IsIdentity();

                        using (var tbl = db.CreateLocalTable <Client>())
                        {
                            var id = db.InsertWithInt32Identity(new Client()
                            {
                                Has = true
                            });

                            var record = tbl.Where(_ => _.Id == id).Single();

                            Assert.AreEqual(id, record.Id);
                            Assert.True(record.Has);
                        }
                    }
            }
        }
예제 #3
0
        public void PostgreSQLProviderConnection()
        {
            DataProviderBase provider = new PostgreSQLDataProvider(new ConnectionParams()
            {
                Database = "Zenith",
                Password = "******",
                Port = 5432,
                Server = "localhost",
                Username = "******",
                OpenImmidiately = false
            });

            provider.Open();
            Assert.IsTrue(provider.IsOpen);
        }
        /// <summary>
        /// Get connection string of EA database
        /// </summary>
        /// <param name="rep"></param>
        /// <param name="provider"></param>
        /// <returns></returns>
        /// string dsnName = "DSN=MySqlEa;Trusted_Connection=Yes;";
        //  dsnName = "DSN=MySqlEa;";
        public static string GetConnectionString(EA.Repository rep, out IDataProvider provider)
        {
            provider = null;


            var(connectionString, dbType) = GetConnectionStringFromRepository(rep);
            string dsnConnectionString;

            // EAP file
            // Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\hoData\Work.eap;"
            switch (dbType)
            {
            case "JET":
                provider            = new AccessDataProvider();
                dsnConnectionString = GetConnectionStringForDsn(connectionString);
                if (dsnConnectionString != "")
                {
                    return(dsnConnectionString);
                }
                if (connectionString.ToLower().EndsWith(".eap") || connectionString.ToLower().EndsWith(".eapx"))
                {
                    return($"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={connectionString};");
                }
                break;

            case @"SQLSVR":
                provider            = new SqlServerDataProvider("", SqlServerVersion.v2012);
                dsnConnectionString = GetConnectionStringForDsn(connectionString);
                if (dsnConnectionString != "")
                {
                    return(dsnConnectionString);
                }
                return(FilterConnectionString(connectionString));



            case "MYSQL":
                provider            = new MySqlDataProvider();
                dsnConnectionString = GetConnectionStringForDsn(connectionString);
                if (dsnConnectionString != "")
                {
                    return(dsnConnectionString);
                }
                return(FilterConnectionString(connectionString));

            case "ACCESS2007":
                provider            = new AccessDataProvider();
                dsnConnectionString = GetConnectionStringForDsn(connectionString);
                if (dsnConnectionString != "")
                {
                    return(dsnConnectionString);
                }
                return(FilterConnectionString(connectionString));


            case "ASA":
                provider            = new SybaseDataProvider();
                dsnConnectionString = GetConnectionStringForDsn(connectionString);
                if (dsnConnectionString != "")
                {
                    return(dsnConnectionString);
                }
                return(FilterConnectionString(connectionString));

            case "ORACLE":
                provider            = new OracleDataProvider();
                dsnConnectionString = GetConnectionStringForDsn(connectionString);
                if (dsnConnectionString != "")
                {
                    return(dsnConnectionString);
                }
                return(FilterConnectionString(connectionString));


            case "POSTGRES":
                provider            = new PostgreSQLDataProvider();
                dsnConnectionString = GetConnectionStringForDsn(connectionString);
                if (dsnConnectionString != "")
                {
                    return(dsnConnectionString);
                }
                return(FilterConnectionString(connectionString));
            }
            MessageBox.Show($"Database: {rep.RepositoryType()}\r\nConnectionString:{connectionString} ", "DataBase not supported, only Access (*.eap/*.eapx), SqlServer and MySQL");
            return("");
        }