马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. conn中的5个变量的寄义:
① Driver:数据库驱动程序,我利用的是SQL Server数据库。
② Server:数据库所在的服务器地址。
③ Database:要毗连的数据库的名称。
④ UID:登录 SQL Server 数据库的用户名。
⑤ PWD:密码。
2. prefixAll:数据模板前缀。
handles:自定义名称。
- # -*- coding:utf-8 -*-
- """
- 作者:青鸟飞啊555
- 日期:2025年01月22日
- """
- import pyodbc
- import json
- from datetime import datetime
- def fetch_data_from_db():
- conn = None
- try:
- # 连接到 SQL Server 数据库,根据实际情况修改连接信息
- conn = pyodbc.connect(
- "Driver={SQL Server};"
- "Server=xxx.xxx.x.xxx;"
- "Database=xxxx;"
- "UID=xx;"
- "PWD=xxxxxx;"
- )
- cursor = conn.cursor()
- # 执行 SQL 查询
- cursor.execute('''
- SELECT
- DISTINCT(BPERNAME),
- C.POSTNAME,
- ORGANNAME,
- (CASE WHEN B.SEX= '00' THEN '男' ELSE '女' END) AS SEX
- FROM
- ISM_TAG AS A
- LEFT JOIN PF_EMPLOYEE AS B ON A.BPERID= B.ID
- LEFT JOIN PF_POST C ON B.POSTID = C.ID
- LEFT JOIN PF_ORGAN D ON C.ORGANID= D.ID
- WHERE
- BPERNAME != ''
- AND C.POSTNAME!= ''
- AND ORGANNAME != ''
- AND SEX != ''
- ''')
- rows = cursor.fetchall()
- data = {
- "prefixAll": "8x.5xx.7xxxx",
- "handles": []
- }
- handle_counter = 1 # 用于生成 handle 编号
- today = datetime.now().strftime("%Y%m%d")
- for row in rows:
- bpername, postname, organname, sex = row
- handle = f"test{today}{str(handle_counter).zfill(3)}"
- data["handles"].append({
- "handle": handle,
- "templateVersion": "人员测试",
- "data": [
- {"key": "personName", "value": bpername},
- {"key": "organName", "value": organname},
- {"key": "bperName", "value": bpername},
- {"key": "sex", "value": sex}
- ]
- })
- handle_counter += 1
- return data
- except pyodbc.Error as e:
- print("数据库操作错误:", e)
- finally:
- if conn:
- conn.close()
- def save_data_to_json(data):
- try:
- with open('data.json', 'w+', encoding='utf-8') as file:
- json.dump(data, file, ensure_ascii=False, indent=4)
- print("数据已成功保存到 data.json 文件中。")
- except IOError as e:
- print("保存文件时出错:", e)
- def main():
- data = fetch_data_from_db()
- if data:
- save_data_to_json(data)
- if __name__ == "__main__":
- main()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |