Tag: postgresql

无法安装Microsoft Power Bi Postgre SQL连接器

我正在尝试使用Microsoft Power Bi连接到PostgreSQL数据库。 当我去获取数据时,它只是说连接器需要安装一个或多个附加组件才能使用它 我安装了Microsoft Power Bi版本:2.47.4766.801 64位(2017年6月)。 我已经安装了Npgsql 3.2.3。 我已经安装了VS Studio 2017社区,并使用VS Studio命令提示符将dll文件添加到程序集中。 我编辑了我的machine.config文件。 下面 我正在运行Windows 10,所以我已经安装了.NET framework 4.5。 6.我重新启动电脑,打开Power Bi并尝试再次连接到Postgre,我得到的信息是连接器需要安装一个或多个附加组件才能使用。 我的Power Bi中的跟踪器日志可以在这里找到: https://www.sendspace.com/file/vleze0 我怎样才能让这个东西起作用? 这让我疯狂! 谢谢

如何从Npgsql和存储过程返回自定义表类型?

我正在尝试基于隐式表类型返回自定义(复合)类型。 我有这个表定义: CREATE TABLE app_user (id CHAR(36) PRIMARY KEY, name TEXT); 哪个映射到此类定义: public class ApplicationUser { public string Id { get; set; } public string Name { get; set; } } 通过调用映射: NpgsqlConnection.MapCompositeGlobally(“app_user”); 我正在尝试使用此存储过程返回记录: CREATE FUNCTION find_by_id(user_id app_user.id%TYPE) RETURNS app_user AS $$ DECLARE found_user app_user; BEGIN SELECT * FROM app_user WHERE id = user_id INTO […]

ComboBox.ValueMember和DisplayMember

我该如何设置这个值? 我有一个DataTable,包含我想在combobox中设置的所有数据,但我无法找到如何设置它。 我试过了 ComboBox1.DataSource = dataTable; ComboBox1.ValueMember = “id”; // –> once hes here, he just jumps out the method ComboBox1.DisplayMember = “name”; 没有编译错误,警告,没有..只是跳出来! 这是填充DataTable的查询 “Select * from \”Table\”” 我检查了调试器并填充了数据表。 列名称是“id”和“name”。 ComboBox是空白的。 我第一次填写它!

我可以在多个查询中拆分查询或创建并行性来加速查询吗?

我有一个表avl_pool ,我有一个函数可以在地图上找到最接近该(x, y)位置的链接。 该选择的性能非常线性,该function需要~8 ms才能执行。 因此,计算此行选择1000行需要8秒。 或者,正如我在此示例中所示,20.000行需要162秒。 SELECT avl_id, x, y, azimuth, map.get_near_link(X, Y, AZIMUTH) FROM avl_db.avl_pool WHERE avl_id between 1 AND 20000 “Index Scan using avl_pool_pkey on avl_pool (cost=0.43..11524.76 rows=19143 width=28) (actual time=8.793..162805.384 rows=20000 loops=1)” ” Index Cond: ((avl_id >= 1) AND (avl_id <= 20000))" " Buffers: shared hit=19879838" "Planning time: 0.328 ms" "Execution […]

EF Core 2.0标识 – 添加导航属性

在EF Core 2.0中,默认情况下不包含身份导航属性,因此在升级后,我添加了它们。 因此,对于用户和角色之间的多对多关系,以及Role和RoleClaim之间的一对多关系,我添加了以下导航属性: public class User : IdentityUser { [Required] public string Name { get; set; } public virtual ICollection<IdentityUserRole> Roles { get; set; } } public class Role : IdentityRole { [Required] public string Name { get; set; } public virtual ICollection<IdentityRoleClaim> Claims { get; set;} } 令人惊讶的是,它为AspNetRoleClaims表和UserId1向AspNetUserRoles表添加了一个额外的RoleId1键,并且所有获取查询实际上都使用新键而不是RoleId和UserId 。

我可以使用Parallel.For和sql命令吗?

我有一类范围 public class avl_range { public long start { get; set; } public long end { get; set; } } 如果我使用正常的FOR工作完美,但必须等待每个命令完成,每个查询需要8秒,所以10个查询需要80秒。 在Parallel版本中如果我只打印范围工作完美,但如果尝试执行命令说已经在进行中。 {“一项操作已在进行中。”} 我怎么解决这个问题? var numbers = new List(); using (var conn = new NpgsqlConnection(strConnection)) { conn.Open(); Action forEachLoop = number => //Begin definition of forLoop { // only the console write line works ok […]

Postgres bytea列返回字符串(char数组)而不是字节数组

我一直在使用C#为不同数据库的产品编写具体的提供程序实现。 W / out进入细节,其中一列是字节数组类型(postgres中的bytea – 由于首选项bytea是在blob上选择的)。 唯一的问题是,它不会返回插入的相同值。 当我插入Int32(“0”)时,我得到8 [92和8x 48](而不是[0,0,0,0])。 我需要一个性能明智的解决方案,它将返回我插入的纯字节,而不是8个字节上的值“0”的ASCII表示。 我正在使用Npgsql来检索数据。 如果有人知道c#的解决方案,我也很乐意学习它。 编辑: Postgres 9.0,.Net 3.5 简单化 命令查询: – 里面只有一个插入语句 select InsertOrUpdateEntry(:nodeId, :timeStamp, :data) 数据参数: byte [] value = BitConverter.GetBytes((int)someValue); 参数分配如下 command.Parameters.Add(new NpgsqlParameter(“data”, NpgsqlDbType.Bytea) { Value = value }); 选择陈述: select * from Entries 我输入了相同的字节数组,我想回去。 我将衷心感谢您的帮助。 输入:0 0 0 0 电流输出:92 48 48 48 […]

无法在Npgsql中立即收到多个通知

今天我编写了以下代码,该代码适用于名为Npgsql的PostgreSQL C#库: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Npgsql; namespace PostgreSQLNotificationsTest { class Program { static void Main(string[] args) { using (var conn = new NpgsqlConnection(“Server=127.0.0.1;Port=5432;User Id=postgres;Password=my_password;Database=helper_db.psql;SyncNotification=true”)) { conn.Notification += OnNotification; conn.Open(); using (var command = new NpgsqlCommand(“listen notifytest;”, conn)) { command.ExecuteNonQuery(); } Console.ReadLine(); }; } private static void OnNotification(object […]

无法首先使用Npgsql和Entity Framework代码在PostreSQL中创建数据库

我正在尝试设置我的应用程序以使用Entity Framework和PostgreSQL,但我遇到了一个问题。 我已经通过nuget添加了Npqsql,并将以下提供程序工厂添加到web.config : 使用连接字符串: 它似乎很好地连接到数据库,但当我尝试在数据库上执行任何类型的操作时,我得到以下exception: FATAL: 3D000: database “withoomph” does not exist 当db设置如下时,我正在正确设置数据库intitializer: static MyDB() { Database.SetInitializer(new CreateDatabaseIfNotExists()); } 所以当我尝试用我的DbContext做任何事情时,它应该只是简单地创建db? 我不明白,整个早上都拔我的头发!

无间隙序列,其中涉及具有多个表的多个事务

我(根据法律)要求在不同的表格上使用无间隙数字。 ID可以包含空洞但不包含序列。 这是我必须在C#代码或数据库(Postgres,MS SQL和Oracle)中解决的问题。 这是我的问题: Start transaction 1 Start transaction 2 Insert row on table “Portfolio” in transaction 1 Get next number in sequence for column Portfolio_Sequence (1) Insert row on table “Document” in transaction 1 Get next number in sequence for column Document_Sequence (1) Insert row on table “Portfolio” in transaction 2 Get next […]