使用HanaBulkCopy将Excel数据从Excel文件导入到SAP Hana Schema Invoice AR表

2020-08-17 00:22发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好。

我一直在尝试使用同步应用程序将从云上的mysql导出的excel数据导入到SAP B1 HANA数据库的HANA模式表中。

SAP hana版本是1.0,用于SAP B1 Hana。 Excel数据将用于在SAP B1 hana应用程序中创建发票a/r。

我不使用SAP B1 Hana的任何DI APi连接方法,因为syn。 应用程序仅用于将数据从mysql数据库导出到excel文件,并将数据导入到SAp Hana数据库架构。 两个数据库将使用相同的域代码,相同的架构和相同的表名。 这是我正在使用的代码:

私有子ImportToHana(FullFileName作为字符串)

         Dim filenam作为字符串
         filenam = FullFileName
         将ExcelConnection设置为新的System.Data.OleDb.OleDbConnection(" Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" + filenam +";扩展属性="" Excel 12.0 Xml; HDR = Yes""")
         ExcelConnection.Open()
         Dim expr As String =" SELECT * FROM [Sheet1 $]"
         Dim objCmdSelect As OleDbCommand =新的OleDbCommand(expr,ExcelConnection)
         昏暗的objDR作为OleDbDataReader

         昏暗的SQLconn作为新的HanaConnection()
         Dim sConn As String =""
         sConn =" Server ="&sSAPServerName&_
                                 "; Current Schema ="&sSAPDbName&_
                                 "; UseTrusted = False"&_
                                 "; UserID ="&sSAPDbUserName&_
                                 "; Password ="&sSAPDbPassword

         SQLconn.ConnectionString = sConn
         SQLconn.Open()

         将bulkCopy用作HanaBulkCopy = New HanaBulkCopy(SQLconn)
             bulkCopy.DestinationTableName =" AR_Invoice"

             尝试
                 objDR = objCmdSelect.ExecuteReader
                 bulkCopy.WriteToServer(objDR)
                 objDR.Close()
                 SQLconn.Close()
                 MsgBox("数据已成功导入到SQL",MsgBoxStyle.Information)
             异常捕获
                 MsgBox(例如ToString)
             结束尝试
         最终使用
     结束

导入失败。 请帮助我解决此问题。 非常感谢。

Rgds

史蒂夫

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好。

我一直在尝试使用同步应用程序将从云上的mysql导出的excel数据导入到SAP B1 HANA数据库的HANA模式表中。

SAP hana版本是1.0,用于SAP B1 Hana。 Excel数据将用于在SAP B1 hana应用程序中创建发票a/r。

我不使用SAP B1 Hana的任何DI APi连接方法,因为syn。 应用程序仅用于将数据从mysql数据库导出到excel文件,并将数据导入到SAp Hana数据库架构。 两个数据库将使用相同的域代码,相同的架构和相同的表名。 这是我正在使用的代码:

私有子ImportToHana(FullFileName作为字符串)

         Dim filenam作为字符串
         filenam = FullFileName
         将ExcelConnection设置为新的System.Data.OleDb.OleDbConnection(" Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" + filenam +";扩展属性="" Excel 12.0 Xml; HDR = Yes""")
         ExcelConnection.Open()
         Dim expr As String =" SELECT * FROM [Sheet1 $]"
         Dim objCmdSelect As OleDbCommand =新的OleDbCommand(expr,ExcelConnection)
         昏暗的objDR作为OleDbDataReader

         昏暗的SQLconn作为新的HanaConnection()
         Dim sConn As String =""
         sConn =" Server ="&sSAPServerName&_
                                 "; Current Schema ="&sSAPDbName&_
                                 "; UseTrusted = False"&_
                                 "; UserID ="&sSAPDbUserName&_
                                 "; Password ="&sSAPDbPassword

         SQLconn.ConnectionString = sConn
         SQLconn.Open()

         将bulkCopy用作HanaBulkCopy = New HanaBulkCopy(SQLconn)
             bulkCopy.DestinationTableName =" AR_Invoice"

             尝试
                 objDR = objCmdSelect.ExecuteReader
                 bulkCopy.WriteToServer(objDR)
                 objDR.Close()
                 SQLconn.Close()
                 MsgBox("数据已成功导入到SQL",MsgBoxStyle.Information)
             异常捕获
                 MsgBox(例如ToString)
             结束尝试
         最终使用
     结束

导入失败。 请帮助我解决此问题。 非常感谢。

Rgds

史蒂夫

付费偷看设置
发送
3条回答
大圣 - sap领域执行人,9年sap运营经验
1楼 · 2020-08-17 00:55.采纳回答

亲爱的

我设法解决了这个问题。

1。 确保桌面防病毒程序不会阻止插件的安装

2确保桌面防病毒防火墙在运行时不会阻止插件应用程序

3。 确保与hana服务器的连接没有被防火墙或防病毒软件阻止。

4。 连接方法更改为以下内容:

将SQLconn变暗为新的HanaConnection()
   Dim sConn As String =""
   sConn ="服务器=" + sSAPServerName +
   "; UserID =" + sSAPDbUserName +
   "; Password =" + sSAPDbPassword +
   ";当前模式=" + sSAPDbName
   
   SQLconn.ConnectionString = sConn
   SQLconn.Open()
 

谢谢所有

Rgds

Steve

zhangjiyang1323
2楼-- · 2020-08-17 00:47

Hi Hector,


谢谢您的回答。 我真的很感激。
实际上,我用于将excel文件的数据仅从mysql上传到登台模式或临时模式的方法。 它不是真正的SAP B1数据库或SAP B1模式。 我正在使用另一个应用程序根据临时模式中的数据创建发票a/r。
我的连接方法是否正确,我感到困惑。 我不使用硬编码。 因此,它必须由用户在我制作的应用程序的特定文本框中输入。

spaceman01
3楼-- · 2020-08-17 00:55

你好史蒂夫,

对于由SAP管理的表的架构,我不会在HANA中使用大容量副本。 这可能会破坏数据库模型的完整性。

允许的机制是DTW,服务层或DI-API。 DTW还允许您将ODBC用作数据源。

关于。

赫克托。

一周热门 更多>