|
分類:[C#]
下記のように、直書きならSQLServerに接続されます
//データベース接続情報 private const string DATABASE_SERVER = "XXX.XXX.XXX.XXX"; private const string DATABASE_NAME = ""; private const string DATABASE_USER = "???"; private const string DATABASE_PASSWORD = "???";
public static Boolean OpenConnection() { // 接続文字列を生成する string connectString = "Data Source = " + DATABASE_SERVER + ";Initial Catalog = " + DATABASE_NAME + ";User ID = " + DATABASE_USER + ";Password = " + DATABASE_PASSWORD;
// SqlConnection の新しいインスタンスを生成する (接続文字列を指定) connection = new System.Data.SqlClient.SqlConnection(connectString);
try { // データベース接続を開く connection.Open(); clsLog.WriteLog(0, "SQLServer データベース接続しました。"); } catch (Exception ex) { clsLog.WriteErrLog(ex); clsMessage.ShowMessage("SQLServer DB接続に失敗しました。\n" + ex.Message); return false; } return true; }
下記の要領で、iniファイルに書き込むようにすると読み込みに失敗します。 iniファイルの内容は読み込めています エラー内容 「SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: Named Pipes Provider, error: 40 - SQL Server への接続を開けませんでした)」
[DllImport("KERNEL32.DLL")] private static extern uint GetPrivateProfileString( string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, uint nSize, string lpFileName);
//データベース接続情報 private static string DATABASE_SERVER { get; set; } private static string DATABASE_NAME { get; set; } private static string DATABASE_USER { get; set; } private static string DATABASE_PASSWORD { get; set; }
public static string GetIniString(string lpSection, string lpKeyName, string lpFileName) { System.Text.StringBuilder strValue = new System.Text.StringBuilder(1024);
uint sLen = GetPrivateProfileString(lpSection, lpKeyName, "", strValue, 1024, lpFileName);
return strValue.ToString(); }
public static Boolean AAA() { DATABASE_SERVER = GetIniString("DB", "DATABASE_SERVER", FilePath); DATABASE_NAME = GetIniString("DB", "DATABASE_NAME", FilePath); DATABASE_USER = GetIniString("DB", "clsBasCommon.DATABASE_USER", FilePath); DATABASE_PASSWORD = GetIniString("DB", "DATABASE_PASSWORD", FilePath);
return true; }
public static Boolean OpenConnection() { // 接続文字列を生成する string connectString = "Data Source = " + DATABASE_SERVER + ";Initial Catalog = " + DATABASE_NAME + ";User ID = " + DATABASE_USER + ";Password = " + DATABASE_PASSWORD;
// SqlConnection の新しいインスタンスを生成する (接続文字列を指定) connection = new System.Data.SqlClient.SqlConnection(connectString);
try { // データベース接続を開く connection.Open(); clsLog.WriteLog(0, "SQLServer データベース接続しました。"); } catch (Exception ex) { clsLog.WriteErrLog(ex); clsMessage.ShowMessage("SQLServer DB接続に失敗しました。\n" + ex.Message); return false; } return true; }
エラー原因がわかりません
よろしくお願いします
|