Having major issues with ODBC driver 15
we've recently upgraded to Win 7 64bit machines from Win XP 32 bit machines.
On the old machines, using ODBC driver 8 the following worked in VBA
adodb.connection.Open "DSN="& "DW Master"& ";"& _
"Uid="& user & ";"& _
"Pwd="& Password & ";"
On the newer machines, 8 can't be installed as it's not 64bit compatible, however we installed 13.
for ODBC driver 13 we had to make the following adjustment - this also works on the older version of the driver aswell.
adodb.connection.Open "DSN="& "DW Master"
Neither will work on ODBC driver 15, they always produce a 'not enough information to log on error' If I try and set up a data connection using this driver it doesn't appear in the provider list, if I try and use the MS ole db provider for odbc drivers or the teradata ole db provider I get either 'error in provider initilization' or 'cannot find terasso library'
Any ideas? I can use the driver for 13, but would prefer to use the latest one if possible.
Excel VBA connectivity
Connecting Business Objects to Teradata
Hi
I am running windows 7 on a 64bit machine and I want to connect to Teradata using SAP Business Objects. My first step is to create a JDBC connection but I am failling to see the drivers on the System DSN. I have downloaded both .jar files and I am confused on what to do next. I need to configure a JDBC connection but I dont have a clue on what to do.
Can anybody assist with the steps or documentation on how to configure the connection?
Regards
JDBC Connection to Teradta 14 best practices for high volumn.
To whom it may concern,
The dev team here are trying to implementing the solution for publishing medium/high volumn of the data into Teradata database (insert and update statements @ around /hour) via jdbc transaction.
The connection string that's used is normal JDBC Connection string:
e.g.
jdbc:teradata://STETSTADWAPP02/Database=D101_PROC_APP without any parameter append at the end of the string.
The main problem that we are currently encountered is:
- The database table dead lock (according to the Teradata team, this could be due to the insert/update statement doesn't close the session)
Here I am after the best practice of the jdbc connection string for teradata and try to explore the way how can the connection pool and the session can be controlled.
Best,
Warren Chen
JPA: NoGo for Teradata or ok with the following rules...?
Hi all,
our customer is building a mobile application and is requesting our ok for them using JPA.
Here are the rulse they are sugesting to make it work in a performant manner. Is there anyone out there who could review them and point us pitfalls / problems that could arise from JPA usage...
We have developed few sample flows using JPA for processing OData requests last week and also did some testing on how the queries gets generated for different requests. We had to write some custom code to build an optimized JPQL / Criteria based on the user request. We following some strict rules while defining the JPA entities to avoid the problem of firing many small queries (N+1 SELECTs problem). We also restricted the number of/joins in queries, same as if we were using native queries directly to implement the same functionality. With these changes the performance was similar to that of using native queries.
These are the rules/customization we did to avoid the small queries:
1. Marked all associations (i.e., OneToMany, ManyToOne, OneToOne) as lazy, so they will not be fetched unless it is overridden for specific queries. The custom code builds the optimized JPQL with appropriate joins (overriding the laziness) depending on user request, so that all the data is fetched in a single shot and there is no need to load any lazy associations later.
2. We are restricting the expands to OneToOne and ManyToOne associations only. Any request from user for expanding OneToMany associations will be rejected.
3. Suppose that a certain request can be performed better by using native query and the same cannot be done using JPA, the developer has always an option to provide his own implementation. The developer will proactively check the queries generated by JPA so that he can override it whenever required.
4. We may not use the JPA based approach for inserts/updates (and only use it for selects and deletes) if it involves more than one table. There is no JPA code to achieve this as of now, so the developer will have to provide his implementation with native queries as earlier.
5. The custom implementation also takes care of pagination and count queries using JPA. A custom Dialect class for Teradata to generate query the correct ‘order by’ syntax is developed to support this.
The main motivation for moving to JPA is that, we will be saving a lot of developer effort and avoiding bugs with this implementation for OData services. Please let me know if you have any other concerns which I haven’t addressed here. We can also share with you the application logs/url to verify the queries.
Many thanks in advance,
Martin
Teradata Hadoop Connector (HDP 1.3.3) - Schema definition is invalid
Hello everyone,
This is the first time I'm trying to use Teradata Hadoop connector for Hortonworks Distribution (HDP 1.3.3) but looks like I'm missing something. I tried with 2 different versions of connector but both of the time I'm getting the same error "Schema definition is invalid" from the method: com.teradata.hadoop.utils.TeradataSchemaUtils.setupOutputSchema. Can anyone please tell me what I'm doing wrong here? Any information will be highly appreciated.
Here is the complete log:
14/09/01 20:39:06 INFO mapreduce.TeradataOutputProcessor: job setup ends at 1409629146472
14/09/01 20:39:06 INFO mapreduce.TeradataOutputProcessor: job setup time is 1s
14/09/01 20:39:06 ERROR teradata.TeradataSqoopExportJob: Exception running Teradata export job
com.teradata.hadoop.exception.TeradataHadoopSchemaException: Schema definition is invalid
at com.teradata.hadoop.utils.TeradataSchemaUtils.setupOutputSchema(TeradataSchemaUtils.java:701)
at com.teradata.hadoop.mapreduce.TeradataOutputProcessor.setupSchemaMapping(TeradataOutputProcessor.java:334)
at com.teradata.hadoop.mapreduce.TeradataBatchInsertOutputProcessor.setupSchemaMapping(TeradataBatchInsertOutputProcessor.java:99)
at com.teradata.hadoop.mapreduce.TeradataOutputProcessor.setup(TeradataOutputProcessor.java:59)
at com.teradata.hadoop.mapreduce.TeradataBatchInsertOutputProcessor.setup(TeradataBatchInsertOutputProcessor.java:60)
at com.teradata.hadoop.job.TeradataHdfsFileExportJob.runJob(TeradataHdfsFileExportJob.java:187)
at com.teradata.hadoop.tool.TeradataJobRunner.runExportJob(TeradataJobRunner.java:192)
at org.apache.sqoop.teradata.TeradataSqoopExportJob.doSubmitJob(TeradataSqoopExportJob.java:253)
at org.apache.sqoop.mapreduce.ExportJobBase.runJob(ExportJobBase.java:276)
at org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:392)
at org.apache.sqoop.teradata.TeradataConnManager.exportTable(TeradataConnManager.java:109)
at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:81)
at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:100)
at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
14/09/01 20:39:06 INFO teradata.TeradataSqoopExportJob: Teradata export Job completed with exit code 1
14/09/01 20:39:06 ERROR tool.ExportTool: Encountered IOException running export job: java.io.IOException: Exception running Teradata export job
Thanks in advance.
Tanzir
MS Visio 2010
I have a new laptop with Windows 7 64bit and MS Visio 2010 64bit.
How do I get Visio to see Teradata? Teradata isn't one of the Visio Database Driver options listed.
Here is what I have on my laptop so far:
Version Display Name
--------------------------------------------------------------------------------------------------------------------
13.10.07.02 Teradata GSS Client nt-i386 13.10.7.2
14.00.0.1 .NET Data Provider for Teradata 14.00.0.1
14.00.00.01 Shared ICU Libraries for Teradata 14.00.0.1
14.00.00.05 ODBC Driver for Teradata 14.00.0.5
14.00.04.01 Teradata GSS Client nt-i386 14.0.4.1
Having problem to connect Teradata server instance to ASP .NET MVC 4 Application in a code first approach
I have been developing a demo MVC application and trying it to connect to Teradata Database. But I have been failing since long . I tried whatever I could do as a newbie to this field but apparently have not been able to solve the problem. In my controller class VS2010 is throwing the error "The context cannot be used while the model is being created" and "Specified cast is not valid."
My web.config looks like this
<add name="LoginUserModelContext" connectionString="Data Source=10.10.20.59;User ID=dbc;Password=dbc;" providerName="Teradata.Client.Provider" />
And LoginUserModelContext class looks like this
using System.Data.Entity; namespace MvcApplication1.Models { public class LoginUserModelContext : DbContext { public LoginUserModelContext() : base("name=LoginUserModelContext") { } public DbSet<LoginUserModel> LoginUserModels { get; set; } } }
Also the Global.asax.cs looks like this
public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { Database.SetInitializer<MvcApplication1.Models.LoginUserModelContext>(null); AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); } }
Though each and every time I am getting the following exception
at Teradata.Client.Entity.TdProviderManifest.GetStringStoreType(ReadOnlyMetadataCollection`1 facets) at Teradata.Client.Entity.TdProviderManifest.GetStoreType(TypeUsage edmType) at System.Data.Entity.ModelConfiguration.Edm.Services.StructuralTypeMappingGenerator.MapTableColumn(EdmProperty property, DbTableColumnMetadata tableColumnMetadata, Boolean isInstancePropertyOnDerivedType, Boolean isKeyProperty) at System.Data.Entity.ModelConfiguration.Edm.Services.PropertyMappingGenerator.Generate(EdmEntityType entityType, IEnumerable`1 properties, DbEntitySetMapping entitySetMapping, DbEntityTypeMappingFragment entityTypeMappingFragment, IList`1 propertyPath, Boolean createNewColumn) at System.Data.Entity.ModelConfiguration.Edm.Services.EntityTypeMappingGenerator.Generate(EdmEntityType entityType, DbDatabaseMapping databaseMapping) at System.Data.Entity.ModelConfiguration.Edm.Services.DatabaseMappingGenerator.GenerateEntityTypes(EdmModel model, DbDatabaseMapping databaseMapping) at System.Data.Entity.ModelConfiguration.Edm.Services.DatabaseMappingGenerator.Generate(EdmModel model) at System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.GenerateDatabaseMapping(EdmModel model, DbProviderManifest providerManifest) at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo) at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() at System.Data.Entity.Internal.InternalContext.Initialize() at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at MvcApplication1.Controllers.LoginUserController.Index() in C:\Users\cnandy\Desktop\MyMVC4\MvcApplication1\MvcApplication1\Controllers\LoginUserController.cs:line 21 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
JDBC LDAP connection with encrypted password
I am connecting to Teradata via JDBC and LDAP using the following URL format:
jdbc:teradata://myserver/LOGMECH=LDAP,LOGDATA=username@@password
The problem here is that the password is being sent out over the network as plaintext. Is there a way to make this connection so that the password is encrypted? It is my understanding that ENCRYPTDATA only encyrpts the data and not the password, so that would not be a solution for this problem.
Thanks,
Scott
Reading Clob column using teradata JDBC is too slow
Hi,
I am using the following code to read clob data from teradata.
String ClobString; StringBuilder clobStringBuilder = new StringBuilder(); Clob clobData = rs.getClob("clobcolumn"); if(clobData != null) { int length = (int) rs.getClob("clobcolumn").length(); int BUF_LEN = 4096; char[] bufr = new char[length]; BufferedReader buffReader = new BufferedReader(clobData.getCharacterStream()); try { //buffReader.read(bufr); buffReader.read(bufr, 0, length); //buffReader.read(bufr, 0, BUF_LEN); /*int c = 0; while((c=buffReader.read(bufr,0,BUF_LEN)) != -1) { clobStringBuilder.append(bufr); }*/ /*while (null != (clobString = buffReader.readLine())) { clobStringBuilder.append(clobString); }*/ } catch (IOException e) { e.printStackTrace(); } finally { try { buffReader.close(); } catch (IOException e) { e.printStackTrace(); } clobData.free(); } String str = new String(bufr);
I have tried various options. My table contains 230 rows with 3 clob columns and each column contains around 7000 characters.
The above code is taking between 30-35 seconds to read all data. Please let me know, if there is any efficient way of reading clob data.
teradata database : 14.10
Am using the terdata jdbc driver version : 14.0.0.40
Regards,
Suresh.
DataStage Teradata Parameters
We are upgrading from Teradata 12 to Teradata 14, and DataStage 7.5.2 to DataStage 9.1
Existing Teradata DataStage stages will not be converted. The following parameters are used to read and write from Teradata.
Parameters to read From Teradata 14
RequestedSessions
SessionsPerPlayer
Parameters to write to TeraData 14 using MLOAD
TENACITY
SLEEP
SESS_MIN
SESS_MAX
STRT_ROW
END_ROW
CHK_POINT
ERR_LIMIT
Is there any Teredata documentation/guidance on how to optimize the parameters listed above?
PowerCenter Express ODBC connection to local VM
Hi, I've installed PowerCenter Express and I'm trying to create a connection in the Adminstrator but I'm getting an error. I'll try to attach the screen shots of the ODBC set up screen and the error message. I think I just need to set up the ODBC connection string but I've never set one up like this before. I've got an ODBC configured for use with SQLA called LocTD151, and I've also set up my hosts file to use a hostname of LocTD151. Any help very gratefully received!
Regards, Jim.
Excel VBA alternative to Fastload / batch insert
Hello,
I have the code below which works but doesn't quite do what I want it to. What I'm trying to do is write some VBA that will load whatever is in a datasheet to a teradata table. It needs to be able to handle as many rows as an xlsx can. I'm fine with the code for grabbing the data but can't figure out how to do this efficiently. I originally posted my question on an article about JDBC/Java which suggests that Teradata can take batch inserts (http://developer.teradata.com/connectivity/articles/speed-up-your-jdbcodbc-applications#comment-136621). This has made me think that what I want to do must be possible, just that I don't know how. I don't think ADODB can handle more than one statement at a time but what are the alternatives?
Thanks!
/code
Sub test_param_this_works()
Dim cn As New ADODB.Connection
Dim cmdPrep1 As New ADODB.Command
Dim prm1 As New ADODB.Parameter
Dim prm2 As New ADODB.Parameter
Dim strCn As String
t = Timer
pwd = InputBox("password?")
strCn = "DSN=GDWPROD1;UID=COJNH;DATABASE=NONPERS;Password="& pwd & "; Session Mode=ANSI;"
cn.Open strCn
Set cmdPrep1.ActiveConnection = cn
cmdPrep1.CommandText = "INSERT INTO jhtest (col1,col2) VALUES (?,?)"
cmdPrep1.CommandType = adCmdText
cmdPrep1.Prepared = True
Set prm1 = cmdPrep1.CreateParameter("param_nm1", adInteger, adParamInput, 1, 1)
cmdPrep1.Parameters.Append prm1
Set prm2 = cmdPrep1.CreateParameter("param_nm2", adInteger, adParamInput, 1, 2)
cmdPrep1.Parameters.Append prm2
For i = 1 To 1000
cmdPrep1("param_nm1") = i
cmdPrep1("param_nm2") = i + 1
cmdPrep1.Execute
Next i
cn.Close
MsgBox "This took: "& Timer - t
End Sub
code/
BODS and teradata connectivity
Hi Guys,
I am a BODS developer working on some interface to get data in Teradata using bulkload stream operator.
Currently facing BODS job failure with connectivity. Below are logs
Teradata <tbuild> failed with the following error: <TPT_INFRA: TPT02268: Error: Cannot write message to Data Stream, status =
DataStream Error
TPT_INFRA: TPT02269: Error: Data Stream status = 406
TPT_INFRA: TPT02268: Error: Cannot write message to Data Stream, status = DataStream Error
TPT_INFRA: TPT02268: Error: Cannot write message to Data Stream, status = DataStream Error
TPT_INFRA: TPT02268: Error: Cannot write message to Data Stream, status = DataStream Error
TPT_INFRA: TPT02268: Error: Cannot write message to Data Stream, status = DataStream Error
TPT_INFRA: TPT02268: Error: Cannot write message to Data Stream, status = DataStream Error
TPT_INFRA: TPT02269: Error: Data Stream status = 406
TPT_INFRA: TPT02269: Error: Data Stream status = 406
TPT_INFRA: TPT02269: Error: Data Stream status = 406
TPT_INFRA: TPT02269: Error: Data Stream status = 406
TPT_INFRA: TPT02269: Error: Data Stream status = 406
Can anybody help me with this?
SAP Business Objects 4.1 SP2 connecting to Teradata 14
Hi,
I am trying to connect to Teradata 14 using ODBC connection. ODBC drivers were installed on both server and client machine. IDT connection from my machine to teradata is working fine but I get an error when I try to publish the coonection to the BO server. Error message reads " Specified Drivers could not be loaded due to system error 193: Teradata, C:\Program files(x86)\Teradata\Client\14.10\ODBC Driver for Teradata nt-x8664\Lib\tdata32.dll.
Has anyone come with this issue before? If so, how did you resolve it?
Regards
David
Specified DSN contains an architecture mismatch between the Driver and Application
I have windows 2008 R2 64 bit. My Informatica application is 9.1 HF6 32 bit. I have installed Teradata TTU 13.10 utilities (ODBC, GSS , ICU). While running application I get ‘Specified DSN contains an architecture mismatch between the Driver and Application’.
TTU 13.10 automatically installed ICU, GSS and ODBC 32 bit and 64 bit versions in 'Teradata' directory in 'Programs' and 'Programs (X86)' directory. How to assign which one to use? How should I fix this?
Teradata Value Analyzer Connectivity
While connecting thru TVA client getting the following error. The client machine has Windows 7 Enterprise Edition
The application encountered the following error and cannot be loaded
ERROR[42S02][Teradata][ODBC Teradata driver][Teradata Database]
Object 'V9080_SQLN_AUTH_METHOD_TYPE' does not exist.
Please notify your Administrator
SQL assistant is working from the same machine and can connect to TD database
Create a Teradata view to an external Teradata Server
Hi;
Does teradata have the concept of a linked server? I would like to create a view on our Teradata Test Box which views a Dataset on the Production server.
I know that datamover could be scripted to bring the data across but space on the test server is at a premium.
Does anyone know of any other mechism that could be utilised in this senario?
Thanks in advance & I look forward to the responses
load data from a webform into teradata
Hi all,
I need to get data from users from a webpage (jsp) and connect to a teradata database and load them into the tables in the database. I am using jsp to create the webpage. Is it possible to directly connect to the teradata database by scripting in jsp?. If so, some guidance will be appreciated. Thank you
Perl Script : Fetching CLOB Columns
Hi All,
I have a perl script that calls a sp in TD. The SP returns rows where each row has 4 clob columns.
I am using the following code scrippet to fetch the row and facing issue.
my $mod_query = $retrow->{mod_query1}."" .$retrow->{mod_query2}."" .$retrow->{mod_query3}."" .$retrow->{mod_query4};
The perl throws the following error :
DBD::ODBC::st fetchrow_hashref failed: st_fetch/SQLFetch (long truncated DBI attribute LongTruncOk not set and/or LongReadLen too small) (SQL-HY000) [state was HY000 now 01004] [Teradata][ODBC Teradata Driver] Unable to get catalog string. (SQL-01004) [Teradata][ODBC Teradata Driver] Unable to get catalog string. (SQL-01004) [Teradata][ODBC Teradata Driver] Unable to get catalog string. (SQL-01004) [Teradata][ODBC Teradata Driver] Unable to get catalog string. (SQL-01004)
The same code works fine where the variables are varchar ,etc.
Appreciate any help in this regard.
WRT_8098 External loader error. Error executing external loader process:[No such file or directory] Errno = [2]
I am trying to load Teradata table using fastload in Informatica. But it gives below error.
WRT_8098 External loader error. Error executing external loader process:[No such file or directory] Errno = [2]