Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 在不带DSN的Teradata Access中创建链接表?_Ms Access_Database Connection_Teradata - Fatal编程技术网

Ms access 在不带DSN的Teradata Access中创建链接表?

Ms access 在不带DSN的Teradata Access中创建链接表?,ms-access,database-connection,teradata,Ms Access,Database Connection,Teradata,连接到Teradata 'Requires reference to ADO and ADOX Public adoCn As ADODB.Connection Public adoCat As New ADOX.Catalog Public adoTbl As New ADOX.Table Function TD_Make_Linked_Table() Dim varServer As String Dim varDatabase As String Dim varUser As St

连接到Teradata

'Requires reference to ADO and ADOX  
Public adoCn As ADODB.Connection
Public adoCat As New ADOX.Catalog
Public adoTbl As New ADOX.Table

Function TD_Make_Linked_Table()

Dim varServer As String
Dim varDatabase As String
Dim varUser As String
Dim varPassword As String

varServer = "Test"
varDatabase = "Test_Test"
varUser = "Test_User"
varPassword = "Test_Password"

Set adoCn = New ADODB.Connection

'I have tried multiple connection strings

adoCn.ConnectionString = "PROVIDER=MSDASQL;DRIVER={Teradata};" & _
                         "DBCName=" & varServer & ";" & _
                         "DefaultDatabase=" & varDatabase & ";" & _
                         "UID=" & varUser & ";" & _
                         "PWD=" & varPassword & ";"

adoCn.Open

Set adoCat = New ADOX.Catalog
Set adoCat.ActiveConnection = adoCn
Set adoTbl = New ADOX.Table

adoTbl.ParentCatalog = adoCat
adoTbl.Name = "Test"

'I have tried multiple property combinations
'Causes error 3265 Item not found
'adoTbl.Properties("?") = adoCn
'adoTbl.Properties("Jet OLEDB:Link Datasource") = "Test"
'adoTbl.Properties("Jet OLEDB:Link Provider String") = 
'adoTbl.Properties("Jet OLEDB:Remote Table Name") = "LinkDatabaseTable"
'adoTbl.Properties("Jet OLEDB:Create Link") = True

'Causes 3251 provider is not capable of performing operation
'adoCat.Tables.Append adoTbl

adoCn.Close

   Set adoTbl = Nothing
   Set adoCat = Nothing
   Set adoCn = Nothing

End Function
我已验证连接是否正常工作。我可以通过打开连接并执行SQL来查询数据

我无法在Access中使用visual basic for applications(已创建连接的应用程序)以编程方式创建链接表


是否有人能够通过访问Teradata成功创建一个链接的无dsn表

如果您有一个工作的ODBC连接字符串,那么您应该能够使用创建链接表。我手头没有Teradata服务器,但这对我使用SQL server很有用:

Dim connStr作为字符串
connStr=_
“驱动程序=SQL Server的ODBC驱动程序11;”_
“服务器=(本地)\SQLEXPRESS;”&_
“数据库=myDb;”&_
“受信任的连接=是”
DoCmd.TransferDatabase_
TransferType:=acLink_
DatabaseType:=“ODBC数据库”_
DatabaseName:=“ODBC;”&connStr_
对象类型:=可执行_
来源:=“dbo.projects”_
目标:=“dbo_项目”

我最终找到了一个有效的连接字符串:)

函数adoTera() 作为ADODB.连接的Dim oConn 将rs设置为ADODB.Recordset Set oConn=新的ADODB.Connection Set rs=New ADODB.Recordset ocann.ConnectionString=“PROVIDER=MSDASQL;”和_ “驱动程序={Teradata};”&_ “DBCName=yourDBCName;”&_ “DefaultDatabase=yourDBName;”&_ “UID=yourUserName;”&_ “PWD=您的密码;” 奥康,开门 rs.打开“从您的表格中选择*”,奥康 此工作簿。工作表(“Sheet1”)。范围(“A:A”)。来自记录集的副本 rs.Close 奥康,结束 设置rs=无 设置con=Nothing 端函数
谢谢您的回复。Teradata没有以相同的方式处理请求。我收到运行时错误'3000'保留错误(-7778);没有关于此错误的消息。@Orthogod-您能从Access本身中手动创建链接表吗?是的,我能从Access中创建到数据源的链接表。