如何从VB SQL查询处理Excel中的Clob数据types
我需要从具有定义为clob数据types的列的oracle视图中重新获取数据,因为该字段中可能存在超过4000个字符。
我在Excel VB中执行子例程,执行查询并将结果放入单元格区域,但是当我尝试执行查询时遇到问题“数据types不受支持”。
甚至有可能在Excel中查询Clob数据types的列?
我无法find任何信息,这将表明我哪里错了。
我在这里先向您的帮助表示感谢。
Sub Get_Data4() Dim cn As Object Dim rs As Object Dim strCon As String Dim strSQL As String Dim strUsername As String Dim strPassword As String Dim strInput As String 'strUsername = InputBox("Input User Name") 'strPassword = InputBox("Input Password") strCon = "Provider=MSDAORA;Data Source=xxx;User ID=xxx;Password=xxx;" Set cn = CreateObject("ADODB.Connection") cn.Open strCon strSQL = "Select clob_field from Table1" Set rs = CreateObject("ADODB.RECORDSET") rs.ActiveConnection = cn rs.Open strSQL Sheet1.Range("A4").CopyFromRecordset rs rs.Close cn.Close Call Get_Data End Sub
我也面临同样的问题。 在尝试打开logging集时出现“未指定的错误”。 我发现使用Oracle Home驱动程序可以解决这个问题。
请按照以下步骤在您的机器上configurationOracle Home Driver –
- 安装Oracle即时客户端12C
- find此path –
C:\Oracle\product\12.1.0\client\Network\Admin\Sample
- 复制“sqlnet.ora”和“tnsnames.ora”文件
- 粘贴到Admin文件夹中(如上面的path所述)
- 编辑“tnsnames.ora”文件
-
在最后添加下面的代码
[DS Name as you wish] = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = [your DB server name or IP])(PORT = [Port Number])) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = [Your DB Service Name]") ) )
-
保存文件
- 在ODBC驱动程序(
Control Panel -> Administrative Panel -> Data Sources (ODBC)
)中检查驱动程序名称我的驱动程序名称显示为 – Oracle in OraClient12Home1 -
尝试下面的连接string
ConnectionString="Driver={Oracle in OraClient12Home1};DBQ=Your SERVICE_NAME;User ld=User ID;pwd=Password;"