在pb脚本里面 通过 select 语句导入一个excel文件,有错误。

tigerielool 2016-06-18 03:22:31
我在pb脚本里面 通过 select 语句导入一个Excel文件 到 sqlserver中的一个表里面, 如果在装有sqlserver的 电脑上运行没问题, 但是如果我在客户端运行,相当于 把客户端电脑上的EXCEL 文件 导入到 服务器端的 sqlserver中, 就不行,提示一堆错误, 错误提示大概是 ole4.0 之类的错误。

不知道什么原因?本人水平有限,还请各位回复的详细一些,谢谢!
...全文
375 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerielool 2016-06-24
  • 打赏
  • 举报
回复
按着您的方法,是可以的。 万分感谢! 不过,还想问一下,能不能灵活的 复制excel表中一部分表格,直接 粘贴到 数据窗口 中。 就是不考虑列名字段是否一致。 只考虑复制的 区域表格的 数据格式 和 数据窗口 中同样大小的区域 数据格式一致。 也就是说能不能像类似在excel表格中 复制 粘贴 一样,只不过现在要求是把excel表格的部分区域的数据 粘贴到数据窗口。 多谢回复!!!
tigerielool 2016-06-24
  • 打赏
  • 举报
回复
谢谢,我来试一下!
嘉友云阁 2016-06-22
  • 打赏
  • 举报
回复
//***************************************************************// // 函数名称:GF_EXCEL_TO_DATAWINDOW // 函数功能: EXCEL文件导入DATAWINDOW // 参数类型: DWTAWINDOW // 参数名称: DW // RETURN : 1 SUCCEED -1 ERROR // DATE : 2004 3.1 //***************************************************************// string str_savename,named,s_grxh int excelok,li_net long li_count,i oleobject excelserver excelserver=create oleobject excelok=excelserver.connecttonewobject("excel.application") //检查返回值,以确保已成功地连接到了Excel if excelok <> 0 then messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!") return -1 end if li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls") if li_net > 0 then if str_savename = "" then return -1 dw.settransobject(sqlca) dw.reset() excelserver.workbooks.open(str_savename) excelserver.activesheet.cells.copy //复制到剪贴板 li_count = dw.importclipboard(2) //导入数据 //dw.importfile(str_savename)//直接导入 clipboard("") excelserver.quit() excelserver.disconnectobject() destroy excelserver return 1 else messagebox('信息提示','没有指定导入文件!') return -1 end if
嘉友云阁 2016-06-22
  • 打赏
  • 举报
回复
如果列名字段一致的话,可以试试直接导入数据窗口后UPDATE
tigerielool 2016-06-21
  • 打赏
  • 举报
回复


提示这个错误,请各位帮忙看看什么原因,谢谢!
Powerbuilder 9.0实用教程》源代码 1.本源代码包括以下章节源代码: 第01章 认识PowerBuilder 9.0、第05章 创建应用程序、第06章 创建窗体、第07章 创建菜单和工具栏、第10章 应用程序的调试和发布、第11章 典型小型实例赏析、第12章 图书管理系统实例和第13章 学生选课系统实例。 2.源代码使用方法参见《附录A 源代码的使用方法》文件。 __________________________________________________________________ 注意: 1.建议读者下载源文件后,将该源文件进行备份,读者使用副本源文件进行学习,这样一但出问题就不用再从网上下载了。 2.将源文件中“数据库文件文件夹一定要复制到C盘根目录下,这样才能保证您连接数据库文件成功,具体方法参见《附录A 源代码的使用方法》。 对于书中源代码除了数据库外其他都能正常使用,而示例中数据库需要用户在自己的计算机上注册后才能使用,如果不注册数据源就运行应用程序是检索不到任何数据的,下面以连接学生选课系统数据库为例具体介绍如何连接数据库文件。 第1章 认识PowerBuilder 9.0 1 1.1 PowerBuilder 9.0简介 1 1.1.1 中国软件业现状 1 1.1.2 为什么要学习PowerBuilder 9.0 2 1.1.3 PowerBuilder的概述 2 1.1.4 PowerBuilder的特点 3 1.1.5 PowerBuilder 9.0的新特性 6 1.2 安装PowerBuilder 9.0软硬件需求 9 1.2.1 软件环境需求 9 1.2.2 硬件环境需求 9 1.3 PowerBuilder 9.0功能界面介绍 10 1.3.1 PowerBuilder 9.0界面简介 10 1.3.2 常用功能菜单 10 1.4 工作环境设置 16 1.4.1 工具栏的设置 16 1.4.2 窗口排列 19 1.4.3 快捷键设置 20 1.4.4 系统选项设置 21 1.5 用5分钟制作一个简单实例 22 1.5.1 实例运行界面 22 1.5.2 新建一个工作空间对象 22 1.5.3 新建一个应用程序对象 23 1.5.4 创建窗体 23 1.5.5 为应用程序添加open事件代码 25 1.6 小结 27 1.7 习题 27 第2章 编程基础知识 28 2.1 PowerScript脚本语言书写规则 28 2.1.1 忽略大小写 28 2.1.2 语句的断行、续行和分割 28 2.1.3 注释 29 2.2 数据类型 29 2.3 变量和作用域 30 2.3.1 定义变量 30 2.3.2 引用变量 30 2.3.3 变量的作用域 30 2.4 操作符 31 2.5 标识符 32 2.5.1 标识符的构成 32 2.5.2 匈牙利命名法 32 2.6 常用代词 33 2.7 控制语句 34 2.7.1 判断语句 34 2.7.2 循环语句 36 2.8 结构 38 2.8.1 创建结构 38 2.8.2 使用结构 40 2.9 函数 40 2.9.1 Open()和Close()函数 41 2.9.2 MessageBox()函数 41 2.9.3 类型转换函数 41 2.9.4 类型判断函数 42 2.9.5 其他函数 42 2.10 ODBC数据源与专用数据库接口 43 2.10.1 什么是ODBC数据源 43 2.10.2 专用数据库接口 43 2.10.3 连接数据库 44 2.10.4 配置ODBC 48 2.11 SQL语言 49 2.11.1 SQL语言的格式 49 2.11.2 在PowerBuilder 9中使用SQL语句 51 2.12 类和对象的概念 56 2.12.1 继承 57 2.12.2 重载和多态性 57 2.12.3 封装 57 2.12.4 属性、事件和函数 57 2.13 在PowerBuilder 9.0中实现面向对象编程 58 2.13.1 创建对象 58 2.13.2 设置对象属性 59 2.13.3 编写事件代码 59 2.13.4 实现继承对象 60 2.14 用户对象和用户事件 61 2.14.1 用户对象分类 61 2.14.2 定义用户对象 62 2.14.3 使用用户对象 64 2.14.4 用户事件 66 2.15 小结 67 2.16 习题 68 第3章 创建数据库 69 3.1 数
存储过程的安全及性能优化 存储过程分类  系统存储过程  自定义存储过程  SQL Server使用者编写的存储过程  扩展存储过程  动态链接库(DLL)函数的调用看,主要用于客户端和服务器端之间进行通信  exec master..xp_cmdshell 'dir *.exe' -- 执行目录命令查询[sql2005\sql2008]  exec master..xp_fixeddrives --列出硬盘分区各自可用空间  xp_regwrite根键,子键,值名,值类型,值【sql2008拒绝访问】  写入注册表,例如:  exec master..db.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\run','TestValueName','reg_sz','hello'  xp_regdeletevalue 根键,子键,值名【sql2008拒绝访问】  删除注册表某个值  xp_regdeletekey键,值【sql2008拒绝访问】  删除该键下包括的所有值 xp_cmdshell语法  xp_cmdshell {'command_string'} [,no_output]  command_string是在操作系统命令行解释器上执行的命令字符串。command_string数据类型为varchar(255)或者nvarchar(4000),没有默认值  no_output为可选参数,可以控制是否想客户端返回信息  该存储过程一般情况下被禁用的,需要手动开启使用,如下:  exec sp_configure 'show advanced options',1  go   reconfigure  go   exec sp_configure 'xp_cmdshell',1—1表示启用,0表示禁用  go   reconfigure  go 删除xp_cmdshell SQL SERVER200删除xp_cmdshell use master exec sp_dropextendedproc 'xp_cmdshell' go SQL SERVER2005以上禁用xp_cmdshell,但不能删除掉 exec sp_configure 'xp_cmdshell',0 —1表示启用,0表示禁用  go reconfigure --让sp_configurre立即生效  go  exec sp_configure 'show advanced options',0  go   reconfigure  go --注意:SQL SERVER2008考虑安全性很多存储过程直接被拒绝访问 恢复/启用扩展存储过程 SQLServer2000 use master exec sp_addextendedproc xp_cmdshell,'xplog70.dll' go SQL Server2005或SQL Server2008启用xp_cmdshell  exec sp_configure 'show advanced options',1  go   reconfigure  go   exec sp_configure 'xp_cmdshell',1—1表示启用,0表示禁用  go   reconfigure  go 扩展存储过程的定义  扩展存储过程是SQL Server中的另一类存储过程,它是以其它语言编写的外部程序,是以动态链接库(DLL)形式存储在服务器上,最终SQLServer就可以动态加载并执行它们  编写好后使用SQLServer的固定角色sysadmin注册该扩展存储过程,并将执行权限授予其它用户,这个扩展存储过程只能添加到master数据库。  在编写扩展存储过程中可能要用到某些系统存储过程,这些系统存储过程如下: 利用OLE自动化存储过程调用dll 1.创建类库程序集 namespace PB_ExtendProcedure { public class ExtendProcedure { public string SayHi() { return "hello world"; } } } 2.生成动态链接库并注册到系统中 2.1.生成动态链接库使用VS2010命令行工具 使用sn命令生成一个强命名文件: sn -k he
Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 5. Oracle Index 的三个问题 6. Oracle PL-SQL语言基础 7. Oracle的分布式管理 8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化器一般错误概念和问题 19.Delphi 3_0中连接数据库的三种方式 20.远程数据库的访问 21.监控数据库性能的SQL 22.简单实现数据库表空间的备份或迁移 23.简析REDO LOGFILE 24.理解和使用Oracle 8i分析工具-LogMiner 25.哪些初始化参数最影响Oracle系统性能 26.你的SQL语句在什么情况下使用全表扫描? 27.如何对CLOB行字段执行全文检索 28.如何让你的SQL运行得更快 29.如何使‘CREATE TABLE AS SELECT’能支持ORDER BY 30.删除表内重复记录的方法 31.数据库安全性策略 32.数据库的查询优化技术. 33.提高C-S系统性能的一些方法 34.提高ORACLE数据库系统import性能 35.外部联接的用法 36.性能调试的一般问题 37.优化 38.优化调整Oracle 8i数据库(从操作系统) 39.在Internet上运作公司是一项艰苦的任务--关键任务 40.在oracle中限制返回结果集的大小 41.在远端如何建立standby数据库 42.怎样分析你的SQL语句的效率 43.自动备份Oracle数据库 44.总结SQL语句中的优化提示 45.使用Database Configuration Assistant安装第二个数据库 46.Oracle 数据库向 MS SQL Server 7.0 的迁移 Oracle1: 1. Decode()函数使用技巧(NT+IIS+ASP+ORACLE) 2. Dual伪列 3. EXP、IMP 命令详解 4. Exp-Imp大量数据 5. Export-Import 使用技巧与常见错误 6. NULL 使用详解 7. Oracle for NT系统实用工具介绍 8. Oracle 和 mysql 的一些简单命令对比参照 9. Oracle8i和Microsoft SQL Server7_0比较 10. Oracle8的不安全因素及几点说明 11. Oracle常见错误代码 12. Oracle常用Script 13. Oracle常用数据字典 14. ORACLE回滚段管理(上) 15. ORACLE回滚段管理(下) 16. Oracle基于Client-Server的性能调整 17. Oracle数据库的安全策略 18. ORACLE数据库简介 19. Oracle数据库密码文件的使用和维护 20. Oracle数据库碎片整理 21. Oracle特殊包 22. Oradim工具的用法 23. PB如何连接Oracle数据库 24. ROLLBACK不能回滚的命令 25. 安装Oracle后,经常使用的修改表空间的SQL代码 26. 比较SQL Server与Oracle、DB2 27. 多个数据库时,如何设置默认数据库 28. 各种数据类型的比较 29. 漫谈oracle中的空值 30. 没有备份、只有归档日志,如何恢复数据文件 31. 哪些初始化参数最影响Oracle系统性能 32. 如何查看数据库的字符集 33. 如何启动ARCHIVELOG模式 34. 如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ? 35. 如何使用归
数据库开发课程设计报告 学生选课管理系统 系别:计算机工程系 班级:软件1408班 姓名:金 科 目的: 掌握PowerBuilder与SQL Server的连接方法 掌握设计窗口的方法 掌握设计菜单的方法 掌握PowerScript语言的程序设计方法 掌握控件的使用方法 掌握建立数据窗口对象的方法 掌握数据窗口控件的使用方法 掌握数据窗口控件函数的使用方法 掌握数据窗口控件事件 掌握数据报表的设计方法 掌握统计图表的设计方法 了解输出打印的设计方法 掌握用户权限的设置方法 工具: PowerBuilder SQL Server 目录: ( 数据库系统设计工具——PowerBuilder 3 一、 使用PowerBuilder 3 二、 创建应用程序 5 三、 连接数据库 6 ( 界面设计 8 一、 窗口设计 8 二、 菜单设计 10 三、菜单捆绑 12 ( 程序设计 13 一PowerScript语言 13 二、 控件 18 二、 控件脚本实例 20 ( 数据浏览 23 一 数据窗口简介 23 二 数据窗口对象 23 三 数据窗口控件 25 四 数据窗口实例 26 ( 数据编辑 29 一 数据窗口控件函数 29 二 数据窗口控件函数实例 30 三、数据窗口控件事件 35 四、 数据窗口控件事件实例 35 五、 数据窗口控件事件实例 43 一、 数据窗口控件事件实例 51 一、 数据报表设计基础 55 二、 数据报表实例 56 三、 统计图表设计基础 57 四、 统计图表实例 58 五、 输出打印设计 60 一:使用数据库: 创建用户表"<班级>_<学号>_u",。创建数据库用户"<班级>_<学号>",并设置相应权限 ,即对表"<班级>_<学号>_s"、"<班级>_<学号>_c"、"<班级>_<学号>_sc"、"<班级>_<学 号>_u"和"<班级>_<学号>_tj"select、insert、delete和update权限。 二.使用PowerBuilder 1.组件:开始 程序 Sybase 2.应用程序开发步骤: 启动PB 创建工作区 创建目标、应用库及应用对象:对象、脚本。 3.创建应用程序 (1)启动PB 开始 程序 Sybase (2)创建工作区 File New Workspace:工作区名。 (3)创建目标及应用对象 工作区 右键 New Target Application:应用对象名、目标名、应用库名。 Profile Name 右键 Connect:测试连接。 Profile Name 右键 Properties Preview:copy 应用对象名 右键 Edit open事件:Ctrl+V 然后使用嵌入式SQL语句CONNECT建立连接 三.窗口设计 (1)创建窗口 (File )New PB Object Window 保存:通常窗口命名为"w_login"。 (2)界面设计 (3)设计程序,运行显示"欢迎使用"窗口 四.菜单设计 (1)创建菜单 (File )New PB Object Menu:右击Untitled,Insert Submenu Item建菜单项,右击菜单,Insert Submenu Item建命令项,菜单命名为"m_main (2)设计菜单 用户管理、学生管理、课程管理、选课管理、数据分析、系统维护 在学生管理、课程管理中分别加入子菜单 增加、删除、修改、查询;在选课管理中加入子菜单 按学生、安课程;在数据分析中加入子菜单 学生统计、课程统计、成绩统计、输出打印;在系统维护了中加入子菜单 修改密码、帮助、退出。 (3)菜单的捆绑 a)新建一个捆绑菜单的窗口 b)打开窗口,在"MenuName"框中指定需要捆绑的菜单名"m_main",在"WindowType"框中 指定所需要的并可以带菜单的窗口类型,如"mdihelp!"。 五.系统维护中的子窗口设计 (1)新建窗口,命名为w_help。 (2)制作"帮助"文件的word文档,并截图。 (3)单击工具栏上的ole控件,打开"Insert Object"对话框。 (4)单击窗口的任意位置,放置OLE控件,并将控件大小调节。 (5)打开"m_main",双击"系统维护"菜单标题下的"帮助"菜单项,写脚码。 修改密码窗口 创建窗口,命名为"w_password" Cb_1的脚码(确定) Cb_2的脚码(关闭) (2)(5)打开"m_main",双击"系统维护"菜单标题下的"修改密码"菜单项,写脚码。 六.学生管理系统中的课程管理中的所有子窗口 创建数据对象 查询表"s" 选择"file"->"new"命令,选择"grid"风格,单击"ok"按钮 查询表"c" 创建查询窗口 Open的脚码 Cb_1的脚码(检索) Cb_2的脚码(关

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧