使用树莓派学习PostgreSQL(二):通过MSSQL Linked Server导入数据

作为曾经呆过证券公司营业部的从业未遂人员,兼十年老韭菜,对我大A还是有蜜汁感情的。看着树莓派里空空荡荡的PGSQL,突发奇想,尝试把今天的A股数据导进来?

之前写过一个基于MSSQL的工具,把行情软件中导出的数据存入数据库。懒得改了继续用它,第一步还是存入MSSQL,然后计划建一个Linked Server到树莓派,然后把数据导出到PGSQL中。

Linked Server可以基于ODBC。PostgreSQL提供了ODBC驱动。下载地址:PostgreSQL: File Browser

我选了最新的64位版。安装完毕后直接用Windows的搜索功能搜odbc,然后打开ODBC数据源(64位),在系统DSN中添加一个数据源:

Server是树莓派的IP地址,Port 5432是PG默认的端口;Database、User Name、密码则是需要在PG已经配置的。完事了按一下Test,需要能看到Connection Successful。

接着打开SSMS配置链接服务器。 

 需要注意的点:
1、提供程序要选Microsoft OLE DB Provider for ODBC Drivers;
2、数据源与刚才配置的ODBC数据源名称要一致。 
3、后续引用远程数据库服务器时将使用此处链接服务器的填写值。

 要点:需要再次输入pgsql的用户名和密码。

然后就可以导入数据了。这里有个小麻烦的地方,我还没找到像操作MSSQL的那种连结构带数据直接写远程表的方法,所以只能拿OpenQuery先救个场了。好在创建表的兼容性还可以,直接用ssms的脚本生成工具生成表结构代码,稍微改造一下在pgsql上先把表创建了。字段如果带半角括号之类的,要用反斜杠(\)来转义。如: "市盈率\(pe\)[20221102]" varchar(20) NULL

创建成功后在ssms里写语句:

insert into PGSQL.a.[public].A221102
select * from T60A

--或者
--insert into openquery(PGSQL,'select * from A221102')
--select * from T60A

好了,先试下哪些股票的概念中直接包含信创:

select 
    [代码],[名称],[现价],[流通股本(亿)],[总股本(亿)]
    ,[每股净资产],[每股公积金],[每股盈利],[市盈率\(pe\)[20221102]]
    ,[市净率],[销售毛利率%[20220930]],[所属概念],[所属行业]
    ,[主营产品类型],[主营产品名称],[前十大流通股东名称]
from PGSQL.a.[public].a221102 where 所属概念 like '%信创%' 
order by [流通股本(亿)],[现价]

 颇有几个老朋友。好的,你们的销售毛利润我知道了,价格谈判的时候自己看着办吧,哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ki1381

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值