【发布时间】:2012-12-27 06:35:08
【问题描述】:
我正在尝试在 Excel 中使用 VBA 连接到数据库,但不知道出了什么问题。有什么建议吗?
这里是代码。我想同时获取查询结果并放入excel表格中
Private Sub CommandButton1_Click()
Dim dd As String
Dim nn As String
OMCS_Connection.Show
If OMCS_Connection.CommandButton1 = False Then
dd = OMCS_Connection.TextBoxa.Value
nn = OMCS_Connection.TextBoxb.Value
End If
Dim order_number As String
order_number = TextBox1.Text
Dim sql_query As String
Set ad = CreateObject("ADODB.Connection") 'create and open ODBC connection
ad.ConnectionString = "ODBC;DRIVER=IBM DB2 ODBC DRIVER - DB2COPY1; DSN=ODRPTDB;UID = " & dd & " ; PWD = " & nn & ";"
'UID=me"
ad.Open
sql_query = "SELECT" & _
"CMOT.MFGNO AS MANUFACTURING_NUMBER," & _
"'BOX' AS ORDER_TYPE," & _
"CMOT.IDCUS AS CUSTOMER_ID," & _
"CMOT.WTCTN AS WT_CUSTOMER_ID," & _
"CMOT.PLORN AS ORDER_NUMBER," & _
"CMOT.IDMAC AS MACHINE_TYPE," & _
"CMOT.IDSMN AS MODEL_NUMBER," & _
"' ' AS NEW_MACHINE_TYPE," & _
"' ' AS NEW_MODEL_NUMBER," & _
"CMOT.BOXSH AS PSSD," & _
"CMOT.ALDPF AS RSSD," & _
"COGUS.ITPDC AS REGION" & _
"FROM DB2COATG.COS1S0T0 CMOT" & _
"INNER JOIN COGUS.WTCTN_CONVERSION COGUS" & _
"ON(COGUS.WTCTN = CMOT.WTCTN AND COGUS.REGIO = CMOT.REGIO)" & _
"WHERE CMOT.PLORN IN (" & order_number & ");"
Set RS = ad.Execute(sql_query) 'execute query
【问题讨论】:
-
嗨,我可以知道错误信息是什么吗?
-
嗨拉里,这是我得到的错误:SQL30081N 检测到通信错误。正在使用的通信协议:“TCP/IP”。正在使用的通信 API:“SOCKETS”。检测到错误的位置:“127.0.0.1”。检测错误的通信函数:“selectForConnectTimeout”。协议特定错误代码:“0”、“”、“”。 SQLSTATE=08001